【问题标题】:max and count query最大值和计数查询
【发布时间】:2016-12-18 22:33:09
【问题描述】:

我正在尝试使用 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”,我想要的简单更改是我想获取获得最大值的代理代码,而不是代理代码的最大记录数。

尝试以某种方式做到这一点,但到目前为止没有运气, 希望你能帮助我做到这一点。

【问题讨论】:

    标签: mysql sql


    【解决方案1】:

    如果您不必担心订单数量最多的两个代理会打成平手,那么您可以尝试以下方法:

    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)
    

    【讨论】:

      【解决方案2】:

      您可以使用order bylimit

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

      【讨论】:

        猜你喜欢
        • 2012-01-09
        • 2021-07-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-22
        • 1970-01-01
        • 2014-06-10
        • 1970-01-01
        相关资源
        最近更新 更多