![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
select неповторяющихся записей [D7, IB6.x]
dest81 © (2008-12-14 19:11:00)Подскажите как сделать оптимальный запрос для такой таблицы
id date name total
1 20.08.08 petya 20
34 20.08.08 petya 35
3 22.08.08 petya 20
44 22.08.08 petya 60
что б он выдал неповторимые даты с максимальным id +name+total:
id date name total
34 20.08.08 petya 35
44 22.08.08 petya 60
palva (2008-12-14 21:34:00) [21]Если нету, то создать индекс по id и date. Должно ускорить.
dest81 (2008-12-14 21:20:00) [22]Спасибо! Работает только очень медленно, может есть еще какой-то способ?
palva (2008-12-14 20:41:00) [23]Может вложенный запрос прокатит? В MS SQL такое работает:
SELECT * FROM table1 WHERE id IN (SELECT MAX(id) FROM table1 GROUP BY date)
dest81 (2008-12-14 20:09:00) [24]Извините я неправильно выразился
> что б он выдал неповторимые даты с максимальным id +name+total
может так будет понятно:
что б он выдал неповторимые даты с максимальным id и поля name и total которые принадлежат записи с номером id
ЗАРАНЕЕ СПАСИБО!!!
Правильный$Вася (2008-12-14 19:55:00) [25]а если у максимального ID будет немаксимальный TOTAL или наоборот?
и что значит максимальный NAME?
palva (2008-12-14 19:43:00) [26]Непонятен вопрос. Во-первых как вы собираетесь складывать name и total, во-вторых что выдавать, когда в двух стоках для данной даты id+total максимально и одинаково, а name различается? Две строчки выдавать? Возможно, если вы потрудитесь и правильно сформируете вопрос, то ответ сразу будет ясен.