简体   繁体   English

返回选择语句SQL的最大值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM