我是SQL的初学者,如何获得返回最普遍的列值的查询?也许某处有一个答案,但我不知道如何用谷歌搜索。
例如,在user_id列中,查询应返回值1,因为这是最普遍的数字。
最佳答案
一种方法是进行GROUP BY
聚合,然后应用LIMIT
技巧:
SELECT user_id, COUNT(*) AS cnt
FROM yourTable
GROUP BY user_id
ORDER BY COUNT(*) DESC
LIMIT 1;
如果您想要更复杂的东西,那么您将进入排名功能领域。 MySQL(至少在当前版本中是这样)不支持内置等级支持,因此执行此类查询可能很棘手。