Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.04.26;
Скачать: CL | DM;

Вниз

SLQ   Найти похожие ветки 

 
Dennis I. Komarov ©   (2009-02-26 17:30) [0]

Не делфи, но все же:

Пусть есть некий запрос результат готорого имеет вид:
ID, Date, Sum

Вопрос: как найти сумму последнего (по дате) для каждого ID
т.е.
SELECT ID, max(Date)
.....
GROUP BY ID

SELECT ID, max(Date), Sum - не выполняется (думается и не должна)

СУБД ORA 10G


 
KSergey ©   (2009-02-26 17:33) [1]

т.е. ID не уникальны, а уникальны только в связке в Data?


 
KSergey ©   (2009-02-26 17:34) [2]

ну а вообще - надо просто моск напрячь, я могу только с подзапросом, но я в этом слаб и очень


 
Palladin ©   (2009-02-26 17:35) [3]

Если первый запрос - тоже группировка, то его можно слегка дополнить условием

date=(select max(date) from tbl as tbl_alias where tbl_alias.id=tbl.id)


 
Petr V. Abramov ©   (2009-02-26 17:36) [4]

select last_value(sum) over (partition by ID order by Date)
не проверял, но что-то около этого


 
Palladin ©   (2009-02-26 17:36) [5]

Хотя если первый запрос и не группировка - то его тоже ничто не мешает дополнить тем же самым условием :)


 
Dennis I. Komarov ©   (2009-02-26 17:41) [6]

[1] совершенно верно
[2],[3] там не группировка, там join c кучей условий where
не хотелось второй раз его же
[4] не совсем понял структуру - сейчас поэксперементирую


 
Palladin ©   (2009-02-26 17:45) [7]


> Dennis I. Komarov ©   (26.02.09 17:41) [6]

так если не хотелось во второй раз, то, очевидно что, самое оптимальное обработать в ручную. ну программно в смысле.


 
Petr V. Abramov ©   (2009-02-26 17:48) [8]


> Dennis I. Komarov ©   (26.02.09 17:41) [6]

см. Analytic functions в документации


 
Dennis I. Komarov ©   (2009-02-26 17:53) [9]


> Palladin ©   (26.02.09 17:45) [7]

угу ;) сейчас пару операторов, ну программистов в смысле поднапрягу.... :)

как говориться, чем больше знаешь, тем больше узнаешь как много ты еще не знаешь. Вот я и подумал, может чего еще в SQL есть такого...


 
Palladin ©   (2009-02-26 18:54) [10]


> Dennis I. Komarov ©   (26.02.09 17:53) [9]

Ну хорошо, есть еще выход с временной таблицей первичных результатов )


 
Dennis I. Komarov ©   (2009-02-27 09:30) [11]

прицепил еще один join :)
всем мерси...

2 > Palladin ©   (26.02.09 17:45) [7]
Я вчера не совсем понял про ручной труд :) *SORRY*


 
Petr V. Abramov ©   (2009-02-27 13:08) [12]


> Dennis I. Komarov ©   (27.02.09 09:30) [11]

ну и зря
разберись с last_value лучше
http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/functions073.htm#i83648


 
Dennis I. Komarov ©   (2009-02-27 16:43) [13]


> Petr V. Abramov ©   (27.02.09 13:08) [12]

непременно, но не сейчас ;)



Страницы: 1 вся ветка

Текущий архив: 2009.04.26;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.012 c
6-1199630362
WebSQLNeederr
2008-01-06 17:39
2009.04.26
отключить в ТВебБроузер звук щелчка при переходе по линку


2-1236745440
Игорь47
2009-03-11 07:24
2009.04.26
обьект Memo


2-1236871080
Mikle
2009-03-12 18:18
2009.04.26
не находит контрол на форме


3-1220355661
Alexandra
2008-09-02 15:41
2009.04.26
Как изменить системную дату таблицы ?


3-1220117523
mefodiy
2008-08-30 21:32
2009.04.26
Ошибка в триггере MySQL