-1
我有如下表最新的两个日期时间在SQL Server
CREATE TABLE [dbo].[events]
(
[event_id] [nvarchar](50) NULL,
[event_timestamp] [datetime] NULL,
[reading] [int] NULL
) ON [PRIMARY]
与以下数据和resutls
表:events
event_id event_timestamp Reading
---------------------------------
1200 14-Jun-15 1500
1200 13-Jun-15 1430.7
1200 12-Jun-15 1400.9
1200 11-Jun-15 1333.2
1200 10-Jun-15 1233.7
1330 14-Jun-15 1490
1330 13-Jun-15 1300
1330 12-Jun-15 1200
1330 11-Jun-15 1150
1330 10-Jun-15 1000
1347 14-Jun-15 2700
1347 13-Jun-15 2400
1347 12-Jun-15 2350
1347 11-Jun-15 2300
1347 10-Jun-15 2100
结果应该是
要求的结果:
event_id event_timestamp Reading
--------------------------------------
1200 14-Jun-15 1500
1200 13-Jun-15 1430.7
1330 14-Jun-15 1490
1330 13-Jun-15 1300
1347 14-Jun-15 2700
1347 13-Jun-15 2400
非常感谢@Giorgi Nakeuri –
与CTE为(选择的itemid,DT,信息,ROW_NUMBER()以上(分区由itemid的顺序由DT DESC)RN 从(选择的itemid,DT,MAX(信息) ( )SELECT event_item_id itemid,CONVERT(VARCHAR,event_timestamp,111)dt,event_additional_info info FROM dbo.events WHERE CONVERT(VARCHAR,event_timestamp,111)IN( SELECT Distinct(CONVERT(VARCHAR,event_timestamp,111))FROM dbo.events WHERE event_additional_info!='0.000000') )tbl1 GROUP BY itemid,dt )tbl) select * from cte where rn <= 2 ORDER BY itemid DESC,dt DESC –