繁体   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