加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

SQLite如何查找最常见的值

发布时间:2020-12-12 18:58:51 所属栏目:百科 来源:网络整理
导读:假设我有一个带有属性X的表A. 如何找到出现次数最多的X? (可能有多个具有相同的最高发生率) 即 表A. X--'a''b''c''c''b' 我想回来 X--'b''c' 我不能在Sqlite中使用关键字ALL,所以我很茫然. 我想到获取每个X的计数然后对它进行排序然后以某种方式使用ORDER B
假设我有一个带有属性X的表A.
如何找到出现次数最多的X? (可能有多个具有相同的最高发生率)


表A.

X
--
'a'
'b'
'c'
'c'
'b'

我想回来

X
--
'b'
'c'

我不能在Sqlite中使用关键字ALL,所以我很茫然.

我想到获取每个X的计数然后对它进行排序然后以某种方式使用ORDER BY DESC以使最大值位于顶部然后LIMIT进行比较以检查第一个元组下面的值是否相等(这意味着它们只是虽然常见)但我不确定LIMIT语法,如果我可以有这样的条件

请给出提示而不是答案,有没有我可以参考的资源,所以我可以找到方法?

解决方法

这样可以处理具有最大出现次数的多个值

SELECT X FROM yourTable
GROUP BY X
HAVING COUNT(*) = (
                   SELECT MAX(Cnt) 
                   FROM(
                         SELECT COUNT(*) as Cnt
                         FROM yourTable
                         GROUP BY X
                        ) tmp
                    )

SQL FIDDLE

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读