Sqlite 在第二个select变量上使用DISTINCT
我有以下有效的代码:Sqlite 在第二个select变量上使用DISTINCT,sqlite,Sqlite,我有以下有效的代码: select distinct count(b), a from test group by a order by count(b) DESC limit 10; 但我希望输出实际显示a,countb,而不是切换顺序。不幸的是 select a, distinct count(b) from test group by a order by count(b) DESC limit 10; 不起作用。我知道一个小问题,在另一个程序中不断更改顺序是一件痛苦的事情
select distinct count(b), a from test group by a order by count(b) DESC limit 10;
但我希望输出实际显示a,countb,而不是切换顺序。不幸的是
select a, distinct count(b) from test group by a order by count(b) DESC limit 10;
不起作用。我知道一个小问题,在另一个程序中不断更改顺序是一件痛苦的事情。实际上你必须理解这一点 选择distinct countb,这是countb、a的一种不同的表示,而不仅仅是countb 这就是为什么第二个不起作用的原因,您不能在列的子集上使用distinct 为了更好地理解它:DISTINCT在所有行的值都相同时给出一行, 如果您只想在countb上执行此操作,并且两行的countb值相同,那么应该显示a的哪个值 这就是为什么不可能在列的子集上使用distinct 为每个countb和a的任何值获取一个值 我不确定,但你可以试试这个:
从测试组中按顺序选择不同的计数b从测试组中按计数b描述组按计数b选择最大值Ahh我明白了。在这种情况下,显示a的哪个值对我来说并不重要,因为如果两行的countb相等,那么a将非常相似。此数据集是两个相似数据集的组合。在这种情况下,您只需按countb DESC limit 10的顺序从测试组中选择不同的a,countb;这不起作用,因为它显示两个a的a值相似,而不是相等,如果计数相同。我只想输出两行中的一行,不管是哪一行。我编辑了我的答案,不确定,也许不是最佳方式,但你可以试试