mysql查询组最新插入

标签 mysql group-by

我有一个表 tbldevicevaluelog,其布局如下:

id | ts | dc | data1 | data2

ts 是时间戳,dc 是设备代码。 data1data2为最新值。

总共有 130 种不同的设备代码。

目标是从每个可用的设备代码中获取最新的时间和data1

通过下面的查询,我可以获得包含所有设备代码和最新时间​​的结果。

SELECT dc, MAX(ts) FROM tbldevicevaluelog GROUP BY dc

问题是如何也得到属于这个最新时间的data1

最佳答案

使用相同的设备代码和时间戳将您的结果连接回您的表格。

SELECT tg.dc, tg.latest, t.data1 
FROM tbldevicevaluelog t
JOIN
( SELECT dc, MAX(ts) as latest FROM tbldevicevaluelog GROUP BY dc ) tg
ON tg.dc=t.dc AND tg.latest=t.ts

关于mysql查询组最新插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9247827/

相关文章:

mysql - 如何在 MYSQL 中连接具有相同实例的相同表?

javascript - 自定义数据属性,切碎并嵌入 <img>

MySQL 查询返回意外值

PHP 搜索引擎与 MySQL 数据库中的特定术语不匹配

python - Pandas:解决交叉表问题

pandas - 新列中的组计数

sql - MYSQL Select语句Order By和Group By

php - Echo DISTINCT 行以从 MYSQL 中删除重复结果

php - 显示带有父类别的类别表

python - pandas 数据框按特定值分组