SQL Totals查询非聚合字段

时间:2014-08-06 16:51:23

标签: sql ms-access

=================
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 /日期相关的注释。”

我不知道正式或适当或有效的方式。感觉就像我通过将聚合查询重新加入原始数据集来攻击它。任何帮助将不胜感激,因为我经常遇到这个问题。

1 个答案:

答案 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