查找SQL数据库中数字序列中的最大数字

kib*_*yte 3 sql

假设我有一个SQL数据库,其中列可能看起来像这样

Numbers
-------
1
1
2
3
4
4
Run Code Online (Sandbox Code Playgroud)

是否可以创建一个简单地抓取最大数字的单个SQL查询,在这种情况下会是4什么?或者我是否必须查询每个数字,将它们放在外部程序中的某种列表中,并编写算法以找到最大的数字?

Con*_*rix 9

使用可以使用MAX Aggregate函数.由于您的表只有一列,它看起来像

SELECT MAX(NUMBERS) n from yourtable
Run Code Online (Sandbox Code Playgroud)

根据你的后端,你也可以放入一个变量.例如在SQL Server中

Declare @TheMax int
SELECT @TheMax = MAX(NUMBERS) 
FROM yourTable
Run Code Online (Sandbox Code Playgroud)

这是 data.stackexchange.com上的一个工作示例

如果你也想要Max Per somthing,你需要一个小组

例如,对Data.SE的此查询给出了每个标记的最大分数

SELECT 
      tagname, max(score) 
FROM 
   posts p
   INNER JOIN postTags pt
   ON p.id = pt.postId
   INNER JOIN tags t
   ON pt.tagid = t.id 
GROUP BY 
   tagname ?
Run Code Online (Sandbox Code Playgroud)


Cha*_*erg 5

如果x是你的列名,则:

SELECT MAX(x) FROM numbers
Run Code Online (Sandbox Code Playgroud)