簡體   English   中英

檢索列表中每個 ID 的最新時間戳 - MySQL

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

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