簡體   English   中英

SQL查詢按最大日期分組

[英]SQL query to group by largest date

我正在嘗試編寫一個SQL查詢以對每種類型執行類似的操作,以查找日期最大的記錄。 我的樣本數據:

date             type
1505246220000    RNase P
1445652540000    Dye Plate 3
1505246940000    Dye Plate 1
1530529380000    ROI
1505246220000    ROI
1445651640000    ROI
1382579640000    ROI
1532830140000    Dye Plate 4

如您所見,對於類型“ ROI”,它包含多行。 為此,我想得到最大的約會。 我當前的SQL查詢只是簡單地選擇所有內容:

SELECT * FROM calibration_history ORDER BY calibration_date DESC 

有任何想法嗎?

這稱為聚合。 您不想“按最大日期分組”,而是要按類型(即每種類型希望一個結果行)進行分組,而每種類型都需要最大日期:

SELECT max(calibration_date), type
FROM calibration_history
GROUP BY type
ORDER BY max(calibration_date) DESC;

(我不知道這是您想要的訂單還是這是您嘗試獲取最大日期的嘗試。當然,您可以使用ORDER BY type代替。)

我會使用相關 subquery

select ch.*
from calibration_history ch
where calibration_date = (select max(ch1.calibration_date) 
                          from calibration_history ch1
                          where ch1.type = ch.type
                         );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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