是否可以在查询中省略聚合列?举个例子:
SELECT Id, Description, MAX(Created)
FROM Record
GROUP BY Id, Description
如何从结果集中省略MAX(已创建)列? 此查询正用于子查询,因此我可以加入最新记录并省略任何旧记录。我知道它不会产生很大的不同,但一般来说我的做法是只返回你需要的数据,在这种情况下我只想加入最新的记录,然后提取描述。我实际上并不关心日期是什么。
有什么想法?我太挑剔了吗?
答案 0 :(得分:4)
如果您只想要最近记录的描述(1条记录)(MAX(已创建)),那么
SELECT TOP 1 Id, Description
FROM Record
ORDER BY CREATED DESC
答案 1 :(得分:1)
select TOP 1 ID, Description from Record
group by ID, Description order by MAX(Created) DESC
如果没有对列进行分组,则无法使用聚合函数。
如上所述,您甚至可能不需要聚合函数
select TOP 1 ID, Description from Record order by Created DESC
答案 2 :(得分:0)
除非我误解了这个问题,否则你不能从选择中删除你不想要的列吗?
SELECT Id, Description
FROM Record
ORDER BY Created DESC LIMIT 1
答案 3 :(得分:-1)
SELECT DISTINCT Id, Description
FROM Record