我有一个带有用户ID和鞋子的数据库表。
对于每只鞋子,用户在数据库中获取一行,因此身份标识为5的人可能有50个条目,用户ID为3可能有23个条目,依此类推。
我想知道如何根据他们在数据库中的鞋子数量显示前10位用户ID?
答案 0 :(得分:2)
您的SQL代码应该类似于:
SELECT user_id, COUNT(user_id) AS num_shoes FROM shoes GROUP BY user_id ORDER BY num_shoes DESC LIMIT 10
关键是GROUP BY
指令,它告诉MySQL将所有相同的用户ID转换为一个实体。
答案 1 :(得分:-3)
试试这个
SELECT user_id, COUNT(user_id) AS shoes FROM table ORDER BY shoes DESC LIMIT 10