SQL仅返回最大值

时间:2015-07-08 08:26:14

标签: sql sql-server select max distinct

我已经使用max完成了一些基本查询,但是这个查询还有一些。我正在使用SSMS 2012.这还需要包括一个组或不同。

选择声明 -

select A.YEAR1, A.PERIODID 
from GPSTJ..SY40100 A
where A.CLOSED = 0 and A.PERIODID <> 0 and A.series = 5

返回以下结果 -

YEAR1    PERIODID
2015     12
2015     12
2016     1
2016     1
2016     2
2016     2

我只希望它返回1行,首先是年份列中的最大值,然后是最大期间ID -

YEAR1    PERIODID
2016     2

由于

3 个答案:

答案 0 :(得分:5)

只需使用TOP (1)

订购
select TOP (1) A.YEAR1, A.PERIODID 
from GPSTJ..SY40100 A
where A.CLOSED = 0 and A.PERIODID <> 0 and A.series = 5
ORDER BY A.YEAR1 DESC, A.PERIODID DESC

答案 1 :(得分:1)

您可以使用MAX(),因此请使用SELECT MAX(YEAR1), PERIODID FROM table;

这将选择列中的最高值。

答案 2 :(得分:0)

您可以尝试使用having子句和group by年,期间ID