我有一个表emp与empid和reviewid:
CREATE TABLE 'emp' (
'empid' INT NOT NULL,
'reviewid' INT NULL,
PRIMARY KEY ('empid'));
INSERT INTO 'emp' ('empid', 'reviewid') VALUES ('1', '1');
INSERT INTO 'emp' ('empid', 'reviewid') VALUES ('2', '1');
INSERT INTO 'emp' ('empid', 'reviewid') VALUES ('3', '2');
INSERT INTO 'emp' ('empid', 'reviewid') VALUES ('4', '2');
INSERT INTO 'emp' ('empid', 'reviewid') VALUES ('5', '3');
INSERT INTO 'emp' ('empid', 'reviewid') VALUES ('6', '4');
我想选择出现次数最多的评论,更重要的是(我不知道该怎么做的部分)是在出现平局时显示出现次数最大的所有行。因此,在上面的示例中,结果应为reviewid 1和2(因为它们都出现两次)。
-------------------------------------------------------
| reviewid |
| 1 |
| 2 |
-------------------------------------------------------
谢谢
最佳答案
可以尝试...
SELECT reviewid FROM emp GROUP BY reviewid HAVING COUNT(*) =
(SELECT COUNT(*) FROM emp GROUP BY reviewid ORDER BY COUNT(*) DESC LIMIT 1)