不能在单个Mysql查询中执行MAX, COUNT



我一直在尝试从一组不同的值中获得最大数量。假设,我有一个表的值,

id    val
A     1
A     2
A     3
B     4
B     5
C     6

所以我想要得到id的最大数量,首先我得到了计数,并试图得到最大值我的SQL查询是,

SELECT MAX (ID_COUNT) id_count 
FROM (SELECT id,COUNT(id) ID_COUNT
FROM tab1
GROUP BY id)

我想要输出3,因为A重复了3次并且是最大值。

它应该是工作的。但现在我得到一个错误说,派生表值应该有一个别名。但我用了个化名。我该怎么办?提前感谢……

您需要为子select

指定别名
SELECT MAX (ID_COUNT) id_count 
FROM (SELECT id,COUNT(id) ID_COUNT
FROM tab1
GROUP BY id) tab2

你可以试试下面的-

SELECT id,COUNT(id) ID_COUNT
FROM tab1
GROUP BY id
order by ID_COUNT desc
limit 1

最新更新