sql – 如何为每个键值选择具有最新时间戳的行?
发布时间:2021-01-19 19:02:13 所属栏目:MsSql教程 来源:网络整理
导读:我有一张传感器数据表.每行都有一个传感器ID,一个时间戳和其他字段.我想为每个传感器选择一个具有最新时间戳的行,包括一些其他字段. 我认为解决方案是按传感器ID进行分组,然后按max(timestamp)顺序排序,如下所示: SELECT sensorID,timestamp,sensorField1,se
|
我有一张传感器数据表.每行都有一个传感器ID,一个时间戳和其他字段.我想为每个传感器选择一个具有最新时间戳的行,包括一些其他字段. 我认为解决方案是按传感器ID进行分组,然后按max(timestamp)顺序排序,如下所示: SELECT sensorID,timestamp,sensorField1,sensorField2 FROM sensorTable GROUP BY sensorID ORDER BY max(timestamp); 这给了我一个错误,说“sensorField1必须出现在group by子句中或者在聚合中使用”. 解决这个问题的正确方法是什么? 解决方法为了完整起见,这是另一种可能的解决方案:SELECT sensorID,sensorField2 FROM sensorTable s1 WHERE timestamp = (SELECT MAX(timestamp) FROM sensorTable s2 WHERE s1.sensorID = s2.sensorID) GROUP BY sensorID; 我认为非常自我解释,但如果你愿意,可以提供更多信息,以及其他例子.它来自MySQL手册,但上面的查询适用于每个RDBMS(实现sql’92标准). (编辑:天瑞地安资讯网_黄海网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 如何正确备份mediawiki数据库(mysql)而不会搞乱数据?
- sql-server – SQL Server Management Studio慢速打开新窗口
- sql-server – 在HashBytes函数中选择正确的算法
- sql-server-2008 – 在EF4中控制ArithAbort
- sql-server – 使用带有nHibernate的CreateSQLQuery的SQL S
- sql-server – 盲目添加缺失索引是否可以?
- sql-server – 如果我选择超过15个字段,我会遇到灾难性的失
- sql-server – 统计信息更新的样本大小的奇怪行为
- sql-server – Windows 2008R2上SQL 2008R2的推荐页面文件大
- sql-server-2008 – 错误地在表上运行了更新语句
站长推荐
- sql-server – 收缩数据库和文件有什么区别?
- sql-server – uncoditioned Count(*)vs System表
- wcf – 如何从自定义位置读取app.config,即从.NE
- sql-server – 唯一索引,varchar列和(空格)空格的
- SQL Server使用架构无法正常工作创建用户定义的表
- sql-server – 我有关于死锁的数据,但我无法理解
- sql-server-2005 – SQL Server 2005中与复合主键
- sql-server – 每周重建索引是个好主意吗?
- sql-server – 增加的网络延迟会导致MS SQL Serv
- sql-server – SQL SELECT订购具有Null值的列
热点阅读


