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