[英]Retrieve latest timestamp for each Id in list - MySQL
我正在運行一個命令來檢索今天所有 ID 匹配 1、2、3 等的行。
不過,我想檢索這些 ID 的最新條目。
所以而不是得到:
BinID | 時間戳 |
2 | 2021 年 4 月 29 日下午 3:49
2 | 29/04/2021 下午 4:41
3 | 2021 年 4 月 29 日下午 2:24
我想:
BinID | 時間戳 |
2 | 29/04/2021 下午 4:41
3 | 2021 年 4 月 29 日下午 2:24
這可能嗎?
這是我目前正在運行的命令。
MySqlCommand mysqlcom = new MySqlCommand("SELECT * FROM realtime_gpses WHERE BinId IN (" + binIdsCSVString + ") AND Timestamp >= CURDATE() AND Timestamp < CURDATE() + INTERVAL 1 DAY", mysqlcon);
其中binIdsCSVString
在這種情況下僅為 2、3。
你可以試試這個
Select binid, max(timestamp) from table where ... Group by binid
作為in (1, 2...)
的替代方案,您可以生成:
where (binid = @binid1 or binid=@binid2.....)
然后相應地添加參數。 所有這些都可以動態生成,但它是參數化的。
請參閱SQL select 僅在列上具有最大值的行以獲取具有最大值的行。
甚至更好: 檢索每組中的最后一條記錄 - MySQL
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.