【问题标题】:MySQL/PHP Counting the top 3 most common values in a column [duplicate]MySQL / PHP计算列中最常见的3个值[重复]
【发布时间】:2013-09-12 18:16:13
【问题描述】:
------------
| id | tid |
------------
| 1  | 0   | 2x 0
| 2  | 1   | 3x 1
| 3  | 3   | 3x 2
| 4  | 3   | 6x 3
| 5  | 3   | 1x 17
| 6  | 17  |
| 7  | 2   |
| 8  | 3   |
| 9  | 0   |
| 10 | 3   |
| 11 | 2   |
| 12 | 1   |
| 13 | 1   |
| 14 | 3   |
| 15 | 2   |
------------

你好,stackoverflow!

我有如下表格。该表每隔几分钟就会添加一个数字。 id 是 auto_increment 值,tid 是要添加的 ID。 tid 可以是从 0 开始的任意数字,也可以是任意顺序。

我想获得tid 中最常见的 4 个数字。例如,这里的前 3 名是:

1。 3
2。 1
3。 2

但这只是一个例子。

我怎样才能做到这一点?我可以将其限制为仅使用 MySQL 还是我还需要使用 PHP?如果是这样,我会怎么做?

问候

【问题讨论】:

    标签: php mysql


    【解决方案1】:
    SELECT tid, COUNT(tid) AS occurences
     FROM table
     GROUP BY tid
     ORDER BY occurences DESC
     LIMIT 4
    

    【讨论】:

      【解决方案2】:
      SELECT COUNT(id) AS total, tid 
      FROM `table` 
      GROUP BY tid 
      HAVING total>0 
      ORDER BY total DESC 
      LIMIT 3
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-02
        • 2015-02-18
        相关资源
        最近更新 更多