MySQL计为最高请求,限制为5

时间:2016-01-13 18:02:25

标签: php mysql count

我有一些像这样的表

id |名称| useriD | bID |电子邮件

在行中我有类似的东西

1 | Michael | 34 | 45 | email@email.com
2 | Michael | 34 | 45 | email@email.com
3 | John    | 34 | 45 | email@email.com
4 | John    | 34 | 45 | email@email.com
5 | John    | 34 | 45 | email@email.com
6 | Jovan   | 34 | 45 | email@email.com
7 | Peter   | 34 | 45 | email@email.com
8 | Michael | 34 | 45 | email@email.com
9 | Oliver  | 34 | 45 | email@email.com
10 | Tataian | 34 | 45 | email@email.com

我需要一个查询来查看我最常用的名称以及将其限制在5个顶部的次数。

我尝试过这样的东西,但我只得到第一个,我需要五个名字和多少次。

这就是我现在所拥有的

SELECT count(`Name`) as Requests, `Name` as Names WHERE 1

1 个答案:

答案 0 :(得分:5)

您应该能够按名称分组,按计数和限制排序:

 SELECT COUNT(`Name`) AS `Requests`, `Name` AS `Names`
 FROM `table`
 GROUP BY `Names`
 ORDER BY `Requests` DESC
 LIMIT 5

基于上表的结果将是这样的:

   Requests   |   Names
--------------------------
      3       |     John
      3       |  Michael
      1       |    Jovan
      1       |   Oliver
      1       |    Peter