Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите составить запрос


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]

Блин, вообще-то хотел в базы отправить...


Наверх

Титульная страница Поиск, карта сайта Написать письмо