如果sql MAX()看到2个相等的值,它会返回什么

时间:2015-12-07 17:21:16

标签: sql-server tsql max

我一直在四处寻找,但可以找到答案,让我说我有一张2柱的桌子

something   Price
a             20
b             20
c             10

我想要

select MAX(Price) from table

看到最高价格是20,其中有两个将MAX命令返回给我(a和b)或只有一个,如果只有一个,为什么?

2 个答案:

答案 0 :(得分:4)

"最大"是一个聚合函数,因此不返回特定的行。 Max(Price)将返回Price列的最大数字20。

https://msdn.microsoft.com/en-us/library/ms187751.aspx

答案 1 :(得分:1)

如果你想要两者,那么使用TOP N with tiesOrder by代替Max汇总试试这个

select Top 1 with ties Price from table
order by Price desc

Max聚合只返回一行,因为您没有group by。另外我认为Group by不适合你