3

我有一个如下表:

身份证类别
1个
2个
3乙
4乙
5℃
6℃

如果我想选择按 id 降序排序的前 2 个不同类别,mysql 中的正确查询是什么?我试过select distinct category from table order by id desc limit 2了,但这给了我以下结果:

类别
C
C

代替

类别
C
乙
4

1 回答 1

6

前 2 名似乎是指列表末尾的那些。试试这个:

select category
from t
group by category
order by max(id) desc
limit 2

如果您的意思是行数最多的那些。

试试这个:

select category
from t
group by category
order by count(*) desc
limit 2

您还可以将 包括count(*)在选择列表中以查看计数是多少。

于 2013-03-30T18:18:16.617 回答