MySQL按id选择不同的顺序

时间:2013-03-30 18:12:54

标签: mysql select sql-order-by distinct

我有一张如下表格:

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

1 个答案:

答案 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(*)以查看计数。