=================
ID - 日期 - 注意
3 - 1/1/2014 - 快乐
3 - 2/1/2014 - mad
3 - 3/1/2014 - 伤心的
4 - 1/1/2014 - 疯狂
4 - 2/1/2014 - 快乐
=================
想要返回每个ID的最新日期以及相关的注释。结果如下:
=================
ID - 日期 - 注意
3 - 3/1/2014 - 伤心的
4 - 2/1/2014 - 快乐
=================
我可以按ID进行分组,然后选择最大值(日期)。但是,我无法获得相关的注释,因为没有聚合函数适用。我只想:“与我通过max函数选择的Id /日期相关的注释。”
我不知道正式或适当或有效的方式。感觉就像我通过将聚合查询重新加入原始数据集来攻击它。任何帮助将不胜感激,因为我经常遇到这个问题。
答案 0 :(得分:4)
一种简单的方法是将最大查询包装在子选择中:
select
m.id, m.datecolumn, m.note
from
(select max(datecolumn) datecolumn, id
from mytable
group by id) sub
inner join mytable m on m.id = sub.id and m.datecolumn= sub.datecolumn