Здравствуйте, McQwerty, Вы писали:
MQ>Приветствую.
MQ>есть MS SQL (вроде, 7 версии) и кучка таблиц в нём.
MQ>В одной таблице хранится история изменения группы параметров.
MQ>Чего хочется: хочется запрос для выборки первого значения (aZ) в сутках для каждого параметра (различные aIndex) у которого (aDost > 0). Примерно так:
MQ>aDate aIndex aZ aDost
MQ>2014-01-01 00:00:06 0 12.6 5
MQ>2014-01-01 00:01:10 1 15.1 4
MQ>2014-01-01 00:00:02 2 11.8 5
MQ>2014-01-02 00:00:11 0 11.6 5
MQ>2014-01-02 00:00:41 1 16.1 5
MQ>2014-01-02 00:00:35 2 11.9 4
MQ>Сейчас реализовал на курсоре — но, мне кажется можно и запрос написать. Помогите мне с ним, если я не ошибаюсь.
если правильно понял то что-то вроде (возможны дубли если время совпадает):
select *
from (
select convert(date,aDate) dd, aIndex, min( aDate ) aDate
from table
where aDost > 0
group by convert(date,aDate), aIndex
) t1
join table t2 on t1.aDate = t2.aDate and t1.aIndex = t2.aIndex