MySQL, SELECT * FROM t WHERE c={重复次数最多的条目}

标签 mysql

正如标题所说,这是我能解释的最简单的方式。详细说明...

我首先需要找到被重复次数最多(mostDuplicated)的列c的值,然后SELECT * FROM t WHERE c=mostDuplicated

继续下去......

这是我的数据:

SELECT * FROM t

a, b, c
-  -  -
1, 1, 1
2, 2, 1
3, 3, 1
4, 4, 2
5, 5, 3

所以完全忽略 a 和 b 列中的值,只关注 c 列。我需要在 c 列(即 1)中找到重复次数最多的值,然后仅在 c=1 的位置选择这些记录。如果可能,我想在单个查询中执行此操作。

最佳答案

执行“分组依据”查询以计算c 的唯一值的数量,将其降序排列并仅选择顶行。然后使用输出作为子查询来选择具有特定 c 值的行:

SELECT * FROM t WHERE c = (SELECT c FROM t GROUP BY c ORDER BY COUNT(*) DESC LIMIT 1)

关于MySQL, SELECT * FROM t WHERE c={重复次数最多的条目},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8538185/

相关文章:

python - 从 MySQL 数据库中重复选择的大多数 python(3)esque 方法

mysql - 加快查询速度的方法

php - 需要帮助回显用户选择的复选框

php - 安装插件后无法访问 wordpress CMS

php - 单击按钮后将值添加到不同的列

mysql - 如何从 ComboBox 返回对象

MySQL 更新不执行操作

c# - 内联加载数据的替代方法

php - 升级到 4.3.1 最新版本后 Wordpress 自定义查询 'no database selected'

Mysql 格鲁吉亚语 Unicode