Форум: "Прочее";
Текущий архив: 2009.04.26;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.006 c