mysql - 在 SQL 中汇总数据

标签 mysql

大家好,我是新来的,我一直在我的 SQL 数据库中进行总结。

为了使示例非常简单,下面是我的数据。

GAME_ID       GOALIEID       SCORED
2001             5             N
2001             4             N
2001             5             Y
2001             4             N
2001             5             Y 

这是一场枪战,我想通过 Game_ID、GoalieID 总结每个守门员的扑救次数,以及每个守门员实际扑救的次数。 N=保存 AND Y=放弃目标

我正在尝试按降序输出我的结果,如下所示:

GAME_ID      GOALIEID      SAVES
 2001           4           2
 2001           5           1

目前基于我的代码:

SELECT GAME_ID, GOALIEID, COUNT(SCORED) AS SAVES
FROM GIRAFFE.MLS
WHERE SCORED = 'N' 
GROUP BY GAME_ID
ORDER BY COUNT (SCORED) DESC

但我得到的结果只是将所有扑救加起来并将其归因于一名守门员,如下所示。

GAME_ID    GOALIEID    SAVES
 2001         5          3

以上问题已解决。

要完成的最后一个问题是如何在 SQL 中查询 STREAK

例如:

GAME_ID   GOALIEID    TEAMID    TEAMSHOTNUM  OVERALLSHOT   SCORED
2001         5           1            1            1          Y
2001         4           2            1            2          N
2001         5           1            2            3          N
2001         4           2            2            4          N
2001         5           1            3            5          N
2001         4           2            3            6          N

基于这个简单的例子: 我如何查询最连续的“Saves”,这将是“GoalieID”的“N”现在假设我的数据有多个游戏要查看,但为简单起见,我这里只有一个游戏。

我希望我的结果看起来像这样:

GAME_ID     GOALIEID     STREAK
   2001        4           3

这将表明“GOALIEID”#4 连续 3 次扑救赢得了比赛,这表明最高的连续扑救次数实际上是 3 次。请记住,这将跨越数千场比赛。但我在这里只用了一款游戏就让它变得简单了。

感谢大家的帮助!

最佳答案

实际上你应该按 GAME_ID 和 GOALIEID 分组:

SELECT GAME_ID, GOALIEID, COUNT(SCORED) AS SAVES
FROM a
WHERE SCORED = 'N' 
GROUP BY GAME_ID, GOALIEID
ORDER BY SAVES DESC

关于mysql - 在 SQL 中汇总数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52764593/

相关文章:

mysql - 如何为数十亿行和数百GB的大型表配置mysql

mysql - 使用 LEFT JOIN 和 UNION 组合多个表

php - 捕获javascript秒表停止时间并将其存储为php变量

mysql - 从表中仅选择具有空值/空值的列

java - 如何使用 EclipseLink 避免 MySQL 连接超时错误?

php - PHP 中的 password_verify 问题

mysql - ERROR 1105 (HY000) : #07000MySQL Proxy Lua script failed to load. 查看错误日志

mysql - SELECT by A列OR B列在数据库中的数据比较顺序是什么

java - 如何告诉hibernate将调用哪个方法?我有一个类(class),2张 table

php - MySQL:如何在 MySQL 的 WHERE IN 子句中使用内爆数组?