Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要打印SQL Server 2012年的最高年份和最高季度_Sql_Visual Studio 2010_Limit_Max - Fatal编程技术网

需要打印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