SQL:如何在max datetime的基础上为多个id选择单个记录?
发布时间:2020-12-12 07:48:02 所属栏目:MsSql教程 来源:网络整理
导读:我有以下SQL表, Id WindSpeed DateTime--------------------------------------1 1.1 2009-09-14 16:11:38.3831 1.9 2009-09-15 16:11:38.3831 2.0 2009-09-16 16:11:38.3831 1.8 2009-09-17 16:11:38.3831 1.7 2009-09-19 16:11:38.3822 1.9 2009-09-19 16:1
我有以下SQL表,Id WindSpeed DateTime -------------------------------------- 1 1.1 2009-09-14 16:11:38.383 1 1.9 2009-09-15 16:11:38.383 1 2.0 2009-09-16 16:11:38.383 1 1.8 2009-09-17 16:11:38.383 1 1.7 2009-09-19 16:11:38.382 2 1.9 2009-09-19 16:11:38.383 1 1.6 2009-09-19 16:11:38.383 2 1.2 2009-09-20 16:11:38.383 我想编写一个查询,它将从上表返回以下结果集: Id WindSpeed DateTime -------------------------------------- 1 1.6 2009-09-19 16:11:38.383 2 1.2 2009-09-20 16:11:38.383 以上reuslt包含最新的(基于该id的最新日期时间)单个条目.这意味着我有多个记录ID与日期时间. 我想得到所有id的最新单一条目. 解决方法SELECT a.Id,a.WindSpeed,a.DateTime FROM YourTable AS a INNER JOIN ( SELECT ID,Max(DateTime) AS DateTime FROM YourTable GROUP BY ID ) AS b ON a.ID = b.ID AND a.DateTime = b.DateTime (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |