PHP MySQLi如何从表中获取最重复的值

时间:2014-10-30 20:12:06

标签: php

有一件事我坚持了下来。我在我的数据库中有一个表格,如:

id | AuthorId | Book 
---------------------
1  |    2     | book name
2  |    2     | book name
3  |    2     | book name
4  |    2     | book name
5  |    5     | book name
6  |    5     | book name
7  |    8     | book name
8  |    9     | book name
9  |    9     | book name
10 |    6     | book name

如您所见,作者ID“2”重复此表中的最高次数(4次),而作者作者ID出现少于4次。如何使用php MySQLi从此表中获取ID“2”,这是此数据中最常出现的值?我不知道我怎么能这样做。

非常感谢你。

2 个答案:

答案 0 :(得分:2)

尝试以下查询。您计算按AuthorID DESC分组的行,并将结果限制为最高值。

SELECT AuthorId, COUNT(AuthorId) as c from table
GROUP BY AuthorId
ORDER BY COUNT(AuthorId) DESC
LIMIT 1;

答案 1 :(得分:1)

试试这个

select AuthorId , count(AuthorId ) as max
from table_name 
group by AuthorId order by max desc limit 1;

order by max desc用于排序第一行的最大值。 limit 1仅来自第一行