牛骨文教育服务平台(让学习变的简单)
博文笔记

如何实现 MySQL 查询结合多个的 count () 和 GROUP BY

创建时间:2015-08-03 投稿人: 浏览次数:178

有这种类型的数据:

id      date            user_id    result
1       2015-05-04      1          win
2       2015-05-06      1          loss
3       2015-05-09      2          loss
4       2015-05-10      2          win
5       2015-05-16      1          win

我需要得到大多数 wins 按排序 4 用户排名。但我还需要对这些 4 的顶尖成功者获得损失的数量。所以当我查询此特定的组会和这:

user    wins    losses
1       2       1
2       1       1

我知道怎么去只是一起 user_id,wins 使用:

SELECT user_id, COUNT(id) AS wins FROM table WHERE result = "win" GROUP BY user_id ORDER BY COUNT(id) DESC LIMIT 4

但我怎也会损失对使用相同的查询这些顶尖 4 球员吗?我知道它的可能,但只是一点线索也没有如何执行它!有什么想法?

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。