在第二个选择变量上使用DISTINCT

时间:2013-04-27 22:43:04

标签: sqlite

我有以下代码可以使用:

   select distinct count(b), a from test group by a order by count(b) DESC limit 10;

但我希望输出实际显示a,count(b)代替(切换顺序)。不幸的是

   select a, distinct count(b) from test group by a order by count(b) DESC limit 10;

不起作用。小问题我知道,在另一个程序中不断改变顺序只是一种痛苦。

1 个答案:

答案 0 :(得分:3)

其实你必须明白这一点  select distinct count(b), a表示count(b), a的DISTINCT而不只是count(b)

这就是为什么第二个不起作用的原因,你不能在列的子集上有区别。

要了解更多:DISTINCT在行的所有值相同时给出一行, 如果你只想在count(b)上执行此操作,并且2行具有count(b)的相同值,则应显示a的值?

这就是为什么不可能对列的子集进行区分

为每个count(b)a的任意值获取一个值 我不确定,但你可以试试这个:

select max(a) from (select distinct count(b) from test group by a order by count(b) DESC ) GROUP BY count(b)