返回没有LIMIT的列中最常用的值

时间:2017-05-19 11:24:44

标签: sql sqlite

我一直在浏览论坛,我看到大部分答案都包含在内 LIMIT,我只是想知道如何在没有LIMIT的情况下返回最常见的价值。示例:您不知道有多少变量具有最高值,并且您不知道最高值。但是您想要显示具有最高值的所有变量

到目前为止,我的代码是

SELECT b.column1, b.column2, count(a.column1)
FROM alphabet a
LEFT JOIN book b ON a.column1= b.column1
GROUP BY a.column1
ORDER BY count(a.column1) desc;

有没有办法在不使用限制的情况下返回最常用的值?

1 个答案:

答案 0 :(得分:0)

解决此类问题的一般模式是将值(聚合与否)与子查询中选择的最大值进行比较。例如,以下查询应该适合您:

SELECT b.column1, count(a.column1)
FROM alphabet a
LEFT JOIN book b ON a.column1= b.column1
GROUP BY b.column1
having count(a.column1) = (select max(cnt) from (
   select count(a2.column1) as cnt
   from  alphabet a2
   group by a2.column1))