У меня есть две таблицы, статистика и stat_log. Журнал статистики выглядит так:
user_id,stat_id,value,registered
и записывает значение статистики за указанное время. Мне нужно каждое последнее значение из каждой статистики для данного пользователя.
Так что я хочу что-то вроде этого, но со значениями:
select stat,max(registered) from stat_log where uid = 1 group by stat;
stat | max
------+------------
6 | 2009-10-08
1 | 2009-10-08
3 | 2009-10-08
5 | 2009-10-08
7 | 2009-10-08
4 | 2009-10-08
Вместо этого у меня есть это:
select stat,max(registered),value from stat_log where uid = 1 group by stat,value;
stat | max | value
------+------------+-------
4 | 2009-10-08 | 38
5 | 2009-10-08 | 118
1 | 2009-10-08 | 100
1 | 2009-10-07 | 101
6 | 2009-10-08 | 68
3 | 2009-10-08 | 110
7 | 2009-10-08 | 53
Какой правильный запрос? Это PostgreSQL 8.3.