mysql - 通过MySQL表中的数据查询获取组的最新数据
问题描述
我有一个 SQL 表,我试图在其中提取每个类别的最新数据。
我的表架构
| deviceId | varchar(30) | NO | | NULL | |
| rssi | varchar(15) | YES | | NULL | |
| space_temperature | varchar(30) | YES | | NULL | |
| control | varchar(30) | YES | | NULL | |
| counter | varchar(30) | YES | | NULL | |
| timestamp | varchar(30) | NO | | NULL | |
| date | varchar(30) | NO | | NULL | |
| floor | varchar(30) | YES | | NULL | |
| Id | varchar(5) | YES | | NULL | |
我想获取每个 ID 的最新行。
select * from Data where floor = 'L2' and date = '2019-12-10' group by Id;
这给了我每个 ID 的一行,但它给了我第一个条目,而不是表中的最新条目。
我试过了
select *,max(timestamp) as latest_timestamp from Data where floor = 'L2' and date = '2019-12-10' group by Id;
这给出了最新的时间戳,但其他列具有第一个条目的数据。如何获取每个 Id 组的最新条目的结果?
解决方案
您可以尝试以下方式 -
select * from Data a where floor = 'L2' and date = '2019-12-10'
and timestamp =(select max(timestamp) from data b where a.id=b.id)
推荐阅读
- javascript - React:如何从 URL 获取变量?
- reactjs - 如何使用表格数据自定义 React Antd 表头?
- java - Spring Boot中Kotlin控制器类可以访问Java服务类吗
- azure-devops - 在经典机器上安装 azure devops windows 自托管代理
- javascript - 可编程视频在 iPhone 和 Brave 中不起作用
- android - Kotlin Dispatchers 如何与非挂起函数一起工作
- react-native - 努力在 React Expo 项目中设置 nativebase
- javascript - 如何通过 nodeJS 更新 mongoDB 中的对象?
- jahia - 基于 Apache-Unomi 中的 2 个属性合并配置文件
- c - c语言密码检查器