最大和计数查询

时间:2016-12-18 14:30:15

标签: mysql sql

我尝试使用max和count这样的查询:(取自http://www.w3resource.com/sql/aggregate-functions/max-count.php

SELECT MAX (mycount)   
FROM (SELECT agent_code,COUNT(agent_code) mycount   
FROM orders   
GROUP BY agent_code);  

此查询返回一个名称为' MAX(MYCOUNT)'的列。使用最大值:' 7',我想要的简单更改是我想获得最大值的代理代码,而不是代理代码的最大记录。

试图在某些方面做到这一点,但到目前为止没有运气, 希望你能帮助我做到这一点。

2 个答案:

答案 0 :(得分:0)

如果您不必担心具有最大订单数量的两个代理商的平局,那么您可以尝试以下方法:

SELECT agent_code, COUNT(*) AS mycount
FROM orders
GROUP BY agent_code
ORDER BY COUNT(*) DESC
LIMIT 1

如果您必须担心最大订单数量的关系,并且您想要所有关联,那么您可以使用子查询:

SELECT agent_code, COUNT(*) AS mycount
FROM orders
GROUP BY agent_code
HAVING COUNT(*) = (SELECT MAX(t.mycount) FROM
                   (SELECT COUNT(*) AS mycount FROM orders GROUP BY agent_code) t)

答案 1 :(得分:0)

您可以使用order bylimit

SELECT agent_code, COUNT(agent_code) as mycount   
FROM orders   
GROUP BY agent_code
ORDER BY mycount DESC
LIMIT 1;