需要打印SQL Server 2012年的最高年份和最高季度
我需要打印给定列对应的最高年份和最高季度 输入在表格中:需要打印SQL Server 2012年的最高年份和最高季度,sql,visual-studio-2010,limit,max,Sql,Visual Studio 2010,Limit,Max,我需要打印给定列对应的最高年份和最高季度 输入在表格中: cityprogram year quarter =========== ==== ======= Abc 1998 1 Abc 1999 4 Abc 1999 4 Abc
cityprogram year quarter
=========== ==== =======
Abc 1998 1
Abc 1999 4
Abc 1999 4
Abc 1998 3
xyz 1998 4
xyz 1998 1
xyz 2000 3
应该打印出来
Abc 1999 4
xyz 2000 3
我尝试了许多联接,最大条件,似乎两种联接都得到了第四季度和第四季度:(感谢在公共表表达式中使用like行数
:
WITH CTE AS(
SELECT [cityprogram], [year], [quarter],
RN = ROW_NUMBER() OVER (
PARTITION BY [cityprogram]
ORDER BY [year] DESC, [quarter] DESC)
FROM dbo.TableName
)
SELECT [cityprogram], [year], [quarter]
FROM CTE
WHERE RN = 1
ROW\u NUMBER
即使存在联系,每组也只返回一行(具有相同最高年份+季度的城市程序)。如果要显示所有最高值,则可以将ROW\u NUMBER
替换为密集等级
CITYPROGRAM YEAR QUARTER
Abc 1999 4
xyz 2000 3