![](/img/trans.png)
[英]SQL Query that will omit records with the same ID based on values in another column
[英]Omit Aggregate Column in SQL Query
是否可以省略查詢中的聚合列? 舉個例子:
SELECT Id, Description, MAX(Created)
FROM Record
GROUP BY Id, Description
如何從結果集中省略MAX(已創建)列? 此查詢正在子查詢中使用,因此我可以加入最新記錄並省略任何舊記錄。 我知道它不會產生很大的不同,但一般來說我的做法是只返回你需要的數據,在這種情況下我只想加入最新的記錄,然后提取描述。 我實際上並不關心日期是什么。
有什么想法嗎? 我太挑剔了嗎?
如果您只想要最近記錄的描述(1記錄)(MAX(創建)),那么
SELECT TOP 1 Id, Description
FROM Record
ORDER BY CREATED DESC
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
除非我誤解了這個問題,否則你不能從選擇中刪除你不想要的列嗎?
SELECT Id, Description
FROM Record
ORDER BY Created DESC LIMIT 1
SELECT DISTINCT Id, Description
FROM Record
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.