我有一张如下表格:
id category 1 A 2 A 3 B 4 B 5 C 6 C
如果我想选择按id递减排序的前2个不同类别,那么mysql中的正确查询是什么?我试过select distinct category from table order by id desc limit 2
,但这给了我以下结果:
category C C
而不是
category C B
答案 0 :(得分:5)
在前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(*)
以查看计数。