Текущий архив: 2007.10.21;
Скачать: CL | DM;
ВнизХитрый SELECT Найти похожие ветки
← →
Delphile (2007-06-13 18:01) [0]Вроде простая задача, а что-то не получается((
Есть таблица со значениями счетчиков. Поля:
ID, CounterID, ValueDate, Value
Нужно запросом выбрать последние значения для каждого счетчика(т.е. с максимальной датой снятия показаний) и получить что-то вроде
CounterID, LastValue
← →
b z (2007-06-13 18:14) [1]
> Delphile (13.06.07 18:01)
а что конкретно не получается? покажите ваши пробы
← →
Плохиш © (2007-06-13 18:16) [2]select counterid, max(value) as lastvalue from ... group by counterid
это надо что ли? И в чём здесь хитрость?
← →
Johnmen © (2007-06-13 21:10) [3]
> Плохиш © (13.06.07 18:16) [2]
Я думаю, что последние показания это те Value, у которых макс. ValueDate для соотв-их CounterID.
И здесь ничего хитрого. Такой вопрос здесь появляется каждую неделю. Зачетную или экзаменационную...:)
← →
Delphile (2007-06-13 22:51) [4]
> b z (13.06.07 18:14) [1]
>
> > Delphile (13.06.07 18:01)
>
> а что конкретно не получается? покажите ваши пробы
> <Цитата>
>
>
> Плохиш © (13.06.07 18:16) [2]
> select counterid, max(value) as lastvalue from ... group
> by counterid
>
> это надо что ли? И в чём здесь хитрость?
Вот вобщем-то все к чему я пришел, но это ведь не то что задано. Значение счетчика может в общем случае уменьшаться. Интересует как правильно решать такие задачи средствами SQL. Таблицы очень большие и это не зачет и не экзамен кстати.
← →
Johnmen © (2007-06-13 23:11) [5]
SELECT * FROM Table T1
WHERE T1.ValueDate=
(SELECT MAX(T2.ValueDate) FROM Table T2
WHERE T2.CounterID=T1.CounterID)
← →
Delphile (2007-06-13 23:42) [6]Очень изящно. И план в одну линию. Я нагородил поболее. хотя планы одинаковые. Спасибо всем
select cv.CounterID, cv.Value LastValue
from CounterValue cv
join (select CounterID, max(ValueDate) LastDate
from CounterValue
group by CounterID) cvd on cv.CounterID = cvd.CounterID
where cvd.LastDate = cv.ValueDate
← →
Delphile (2007-06-13 23:44) [7]это было на
> Johnmen © (13.06.07 23:11) [5]
Страницы: 1 вся ветка
Текущий архив: 2007.10.21;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.044 c