SQLite 如何找到一个值最常见的出现

标签 sql sqlite

假设我有一个表 A,其属性为 X 如何找到出现次数最多的 X? (可以有多个具有相同的最高出现率)

即 表A

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

我想回去

X
--
'b'
'c'

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

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

请给出提示而不是答案,是否有任何资源可以引用以便我想出办法?

最佳答案

查询喜欢

SELECT x,COUNT(x) AS cnt FROM a
GROUP BY x
ORDER BY cnt DESC;

并在 cnt 改变时停止处理结果行。

关于SQLite 如何找到一个值最常见的出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21377319/

相关文章:

c# - 导入 sqlite 脚本以在 C# 和 t 中创建数据库

php - 我的 SQL 查询有什么问题?

mysql - 从数据库的表中选择 2 个特定行

database - table 越少越好吗?

sqlite - 限制 sqlite3 中的浮点值

java - 安卓插入语句

c++ - 在 Windows `Can' t 打开包含文件时设置 CMake 和 vcpkg 时出错

sql - Azure 数据工厂 - 如何将 SQL 查询结果映射到 JSON 字符串?

c# - 如何使用 Code First 和迁移添加新表

mysql - 选择一行及其周围的行