我有一个数据库行条目,其中包含一个包含字符串值的公共列," L" " LV" " LRW"和" AD"。假设存在大量这些字段,具有这种性质的多个值。在SQL查询中是否有一种方法可以返回此列的最大值(实际上是平均值),而不是返回所有列条目,还是应该在开发链中将其更高地委托给它?
编辑:根据请求,这里是表格实际外观的示例设置:
+------------+---------+
| Ent1 | value |
+------------+---------+
| 1 | L |
| 2 | L |
| 3 | LV |
| 4 | AD |
| 5 | AD |
| 6 | L |
| 7 | LRW |
| 8 | L |
+------------+---------+
答案 0 :(得分:0)
如果要查找最多出现的值,可以使用COUNT()聚合函数来获取出现次数,并将结果集限制为一行:
SELECT columnName, COUNT(*) AS numAppearances
FROM myTable
GROUP BY columnName
ORDER BY numAppearances DESC
LIMIT 1;
通过降序排序,您可以有效地将大多数外观的值放在第一位,并且您可以将其限制为1以仅获得该值。
答案 1 :(得分:0)
SELECT myColumn, COUNT(*) AS amount
FROM myTable
GROUP BY myColumn
ORDER BY amount DESC
LIMIT 1