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