[英]returning Max value of select statement SQL
I pretty much forgot how to do this with SQL actually, the thing is I have an SQL select statement such as: 我几乎忘记了如何使用SQL实际执行此操作,问题是我有一条SQL select语句,例如:
SELECT COUNT(*) NAME FROM `SomeTable` WHERE `SomeID` = xxx GROUP BY `Field`
Which does return a table with one field and many records containing numbers. 它确实返回一个表,该表具有一个字段和许多包含数字的记录。 What I want is to get the a single value of the maximum number among those records. 我想要的是获得这些记录中最大数量的单个值。
it should help you. 它应该可以帮助您。 just use MAX()
function 只需使用MAX()
函数
SELECT MAX(COUNT(*)) FROM `SomeTable` WHERE `SomeID` = xxx GROUP BY `Field`
只需添加LIMIT:
SELECT COUNT(`NAME`) AS `NUM` FROM `SomeTable` WHERE `SomeID` = xxx GROUP BY `Field` ORDER BY `NUM` DESC LIMIT 1
select max(name) from
(
SELECT COUNT(*) NAME FROM `SomeTable` WHERE `SomeID` = xxx GROUP BY `Field`)a
SELECT COUNT(*) NAME
FROM `SomeTable`
WHERE `SomeID` = xxx
GROUP BY `Field`
order by NAME desc
limit 1
I want is to get the a single value of the maximum number among those records. 我想要的是获得这些记录中最大数量的单个值。
Try this: 尝试这个:
SELECT t1.*
FROM SomeTable t1
(
SELECT SomeID, Max(Field) MaxField
FROM SomeTable
GROUP BY SomeID
) t2 ON t1.SomeID = t2.SomeID AND t1.Field = t2.MaxField
WHERE t1.SomeID = xxx
If you just want a single result of the highest value against a filter, just use Max: 如果您只想针对过滤器获得单个最大值的结果,则可以使用Max:
SELECT MAX(MyField) NAME
FROM `SomeTable`
WHERE `SomeID` = xxx;
Alternatively, if you want an aggregate grouped by another column, the syntax is like so: 或者,如果您希望按另一列分组聚合,则语法如下所示:
SELECT Name, MAX(MyField) as MaxOfMyField -- Or COUNT(MyField) if you want the Count
FROM `SomeTable`
WHERE `SomeID` = xxx
GROUP By Name;
The syntax for the MAX function is: MAX函数的语法为:
SELECT MAX(expression )
FROM tables
WHERE predicates;
Example 例
SELECT MAX(salary) as "Highest salary"
FROM employees;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.