我有一个数据库条目行,其中有一个包含字符串值"L“"LV”"LRW“和"AD”的公共列。综合起来,这些字段中有许多,具有这种性质的多个值。在SQL查询中是否有一种方法可以返回该列最常见的值(实质上是平均值),超过返回所有列项,还是应该在开发链中将其委托到更高的位置?
编辑:每个请求,下面是表实际样子的示例设置:
+------------+---------+
| Ent1 | value |
+------------+---------+
| 1 | L |
| 2 | L |
| 3 | LV |
| 4 | AD |
| 5 | AD |
| 6 | L |
| 7 | LRW |
| 8 | L |
+------------+---------+发布于 2014-11-18 22:21:38
如果要查找发生次数最多的值,可以使用COUNT()聚合函数获取外观的数量,并将结果集限制为一行:
SELECT columnName, COUNT(*) AS numAppearances
FROM myTable
GROUP BY columnName
ORDER BY numAppearances DESC
LIMIT 1;通过按降序排序,您实际上是将大多数外观中的值放在第一位,并且可以将值限制为1,从而只得到该值。
发布于 2014-11-18 22:22:32
SELECT myColumn, COUNT(*) AS amount
FROM myTable
GROUP BY myColumn
ORDER BY amount DESC
LIMIT 1https://stackoverflow.com/questions/27005196
复制相似问题