Sql 为指定月份的每一天选择最大值
如果这个问题很傻,我很抱歉,因为我是SQL Server新手。我想为指定月份的每一天选择前5项记录。 e、 g 并将所有记录显示为一个结果。试试这个Sql 为指定月份的每一天选择最大值,sql,database,sql-server-2008,Sql,Database,Sql Server 2008,如果这个问题很傻,我很抱歉,因为我是SQL Server新手。我想为指定月份的每一天选择前5项记录。 e、 g 并将所有记录显示为一个结果。试试这个 WITH TopFiveRecords AS ( SELECT *, ROW_NUMBER() OVER (PARTITION BY dayColumn ORDER BY colName DESC) RN FROM tableName ) SELECT * FROM TopFiveRecords WHER
WITH TopFiveRecords
AS
(
SELECT *,
ROW_NUMBER() OVER (PARTITION BY dayColumn ORDER BY colName DESC) RN
FROM tableName
)
SELECT *
FROM TopFiveRecords
WHERE RN <= 5
-- AND date condition here ....
dayColumn包含月份日期的列
colName要排序的列试试这个
WITH TopFiveRecords
AS
(
SELECT *,
ROW_NUMBER() OVER (PARTITION BY dayColumn ORDER BY colName DESC) RN
FROM tableName
)
SELECT *
FROM TopFiveRecords
WHERE RN <= 5
-- AND date condition here ....
dayColumn包含月份日期的列
colName要排序的列假设您正在检查2012年6月的超速记录,并且希望通过speed desc排名前5名
假设您正在检查2012年6月的超速记录,您希望通过speed desc排名前5名
SELECT *
FROM (
SELECT *, RowNum = Row_number() over (partition by Cast(EventTime as Date)
order by Speed desc)
FROM Events
WHERE EventTime >= '20120601'
AND EventTime < '20120701'
) X
WHERE RowNum <= 5