![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите составить запрос
Piter © (2004-08-04 20:20:00)Есть два числовых поля: fd1 и fd2
Нужно вернуть записи в порядке убывания значения поля fd1 и при этом в записях не должно повторяться значение fd2, другими словами если есть несколько записей с одинаковым значением fd2, то должна быть выбрана запись с максимальным fd1 и быть выведена в соответствии с порядком убывания fd1.
Пример:
содержимое базы таково:
fd1 fd2
---------------
1 1
2 1
1 2
1 3
3 2
Результат запроса:
fd1 fd2
---------------
3 2
2 1
1 3
Fay (2004-08-05 16:48:00) [1]Всяко-разно извиняюсь. Был неправ.
Johnmen (2004-08-05 16:44:00) [2]>Fay © (05.08.04 16:35) [9]
Врешь ты всё...:) Нормально работает...
Соловьев (2004-08-05 16:38:00) [3]
> select VenueNo, count(*) from events group by VenueNo
count(VenueNo)
Тебе говорят про сортировку а не прогрупировку. И говорят как раз то что по номеру это нормально, а по имени нет.
Fay (2004-08-05 16:35:00) [4]2 Johnmen © (05.08.04 16:29) [8]
SQL Explorer + DBDEMOS + "select VenueNo, count(*) from events group by VenueNo" = Capability not supported.
Johnmen (2004-08-05 16:29:00) [5]Понимать должны все. Т.к. базовое определение спецификафии ORDER BY в рамках стандарта предполагает именно НОМЕР столбца результата. А вот указание имени - это уже расширение, имеющее ограничения, хоть и в рамках того же стандарта.
Piter (2004-08-05 16:21:00) [6]а кто не поймет? Firebird понял. Oracle и MSSQL думаю тоже наверняка поймут
Fay (2004-08-05 14:40:00) [7]Не все поймут
order by 2 desc
Piter (2004-08-05 14:13:00) [8]ну я думал в таком простом запросе вид СУБД не играет роли. Такие простые запросы они одинаково выполяют... разве нет?
Fay (2004-08-04 22:35:00) [9]На будущее - указывай СУБД.
Piter (2004-08-04 22:29:00) [10]Fay © (04.08.04 21:03) [2]
Спасибо! А то я никак допереть не мог, писал нечто:
select fd2, max(fd1) fd1
from jopa
group by fd2
order by fd1 desc
но сервер ругался...
Fay (2004-08-04 21:03:00) [11]select fd2, max(fd1) fd1
from jopa
group by fd2
order by 2 desc
Piter (2004-08-04 20:21:00) [12]Блин, вообще-то хотел в базы отправить...