【问题标题】:Most common number in MYSQL SELECT statementMYSQL SELECT 语句中最常见的数字
【发布时间】:2012-06-01 09:57:21
【问题描述】:

我试图让一个 MYSql 语句吐出字段中最常见的数字。我相信我应该使用COUNT(QUANTITY),但我对GROUP BYORDER BY 感到困惑,我似乎无法获得正确的模式(最常见的数字)。

*编辑*

这是一个示例表:

QUANTITY | ORDER_NUMBER
   1         51541
   4         12351
   5         11361
   5         12356
   6         12565
   8         51424
   10        51445
   25        51485

MYSql 语句应该吐出数字5,因为它出现的频率最高

【问题讨论】:

    标签: mysql select mode


    【解决方案1】:
    SELECT QUANTITY,COUNT(*)
    FROM ...
    GROUP BY 1
    ORDER BY 2 DESC
    LIMIT 1;
    

    【讨论】:

    • 我尝试了所有这些,而这个完全符合我的要求,只显示了 1 个数字,在上面的例子中是 5
    【解决方案2】:
    SELECT ORDER_NUMBER AS ORDER, COUNT(QUANTITY) as numorders
    FROM table 
    GROUP BY ORDER_NUMBER
    ORDER BY numorders
    

    【讨论】:

    • 忘记包含实际号码,以便您知道最受欢迎的号码是什么...
    【解决方案3】:

    获得前 10 名order_numbers 做

    select order_number, count(order_number) as quantity
    from your_table
    group by order_number
    order by quantity desc
    limit 10
    

    【讨论】:

      【解决方案4】:
      SELECT QUANTITY, COUNT(QUANTITY) AS TOTAL_Q
       FROM MYTABLE
       GROUP BY QUANTITY
       ORDER BY TOTAL_Q DESC
      

      这将为您提供从最多到最少的数量......

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-03-30
        • 2016-07-20
        • 2014-11-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-11
        相关资源
        最近更新 更多