簡體   English   中英

在SQL查詢中省略聚合列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM