【发布时间】:2015-02-11 01:39:45
【问题描述】:
我正在尝试在我的结果集中获得每个分组行的 TOP 1 结果。
Id LogType CreatedOn
===============================
1 Red 2000-01-02T12:34:56Z
2 Red 2000-01-02T12:34:56Z
3 Blue 2000-01-02T12:34:56Z
4 Green 2000-01-02T12:35:56Z
5 Red 2000-01-02T12:36:56Z
6 Red 2000-01-02T12:37:56Z
7 Blue 2000-01-02T12:38:56Z
8 Green 2000-01-02T12:39:56Z
预期结果
LogType Count MostRecent
==================================
Red 4 2000-01-02T12:37:56Z
Blue 2 2000-01-02T12:38:56Z
Green 2 2000-01-02T12:39:56Z
This has all been setup in this Sql Fiddle。
我有COUNT(这很容易),但我不确定如何获取最新的,然后将其链接回之前的结果。我在想一个ROW_NUMBER() / PARTITION ORDER BY CreatedOn DESC 并按= 1 过滤..但我被卡住了。
注意:如果对软件特定关键字有任何疑问,我使用的是 SQL Server 2012。
【问题讨论】:
标签: sql group-by sql-server-2012