假设我有一个SQL数据库,其中列可能看起来像这样
Numbers
-------
1
1
2
3
4
4
Run Code Online (Sandbox Code Playgroud)
是否可以创建一个简单地抓取最大数字的单个SQL查询,在这种情况下会是4什么?或者我是否必须查询每个数字,将它们放在外部程序中的某种列表中,并编写算法以找到最大的数字?
使用可以使用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)