我尝试使用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',我想要的简单更改是我想获得最大值的代理代码,而不是代理代码的最大记录。
试图在某些方面做到这一点,但到目前为止没有运气, 希望你能帮助我做到这一点。
答案 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 by
和limit
:
SELECT agent_code, COUNT(agent_code) as mycount
FROM orders
GROUP BY agent_code
ORDER BY mycount DESC
LIMIT 1;