Вот данные, с которыми я хочу работать
create table weather(
id int,
recorddate date,
temp int,
primary key (id)
);
insert into weather values (1, '2015-01-01', 10);
insert into weather values (2, '2015-01-02', 15);
insert into weather values (3, '2015-01-03', 20);
Я хочу выбрать дату, которая имеет более высокую температуру, чем предыдущий день, и я использовал этот запрос:
select id
from weather a
where id = (select id from weather b where datediff(a.recorddate, b.recorddate) = -1 and b.temp > a.temp)
Запрос возвращает 0 записей, и я знаю, что логика подзапроса верна, но по какой-то причине он не работает.
Обновление
Я не ищу альтернативный способ написания этого запроса, я хочу знать, что не так с запросом выше?
Обновление
Часть, в которой я ошибся, заключается в том, что я думал присвоить значение id, написав where id=...