Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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
15-1235299343
Den_
2009-02-22 13:42
2009.04.26
Что бы придумать для своей программы (не совсем шароварное)?


2-1237201177
Pavel
2009-03-16 13:59
2009.04.26
Работа с WordDocument


2-1237192533
petvv
2009-03-16 11:35
2009.04.26
Отслеживание изменений ФС


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


6-1200754867
guard_gg
2008-01-19 18:01
2009.04.26
icmp result после udp send





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский