mysql - 如何总结球员的所有进球数
问题描述
我想问一下我如何总结过去7天球员的所有进球数。
表的名称是player_games,包含玩游戏日期的字段是game_played。
我尝试对分数求和,但我收到 0 作为分数的结果。不包括最后一周。
SELECT player_id as playerID, SUM('scores') as scores
FROM `player_games`
GROUP BY player_id
ORDER BY SUM('scores') DESC
解决方案
您可以使用DATE_SUB
and使用以下内容CURDATE
:
SELECT player_id AS playerID, SUM(scores) AS scores
FROM player_games
WHERE game_played BETWEEN DATE_SUB(CURDATE(), INTERVAL 7 DAY) AND CURDATE()
GROUP BY player_id
ORDER BY SUM(scores) DESC
您也可以直接在WHERE
条件上使用日期计算,而无需使用DATE_SUB
:
SELECT player_id AS playerID, SUM(scores) AS scores
FROM player_games
WHERE game_played BETWEEN CURDATE() - INTERVAL 7 DAY AND CURDATE()
GROUP BY player_id
ORDER BY SUM(scores) DESC
推荐阅读
- go - 将 Oauth2 实现为中间件
- mongodb - Mongoose 基于另一个字段填充动态参考
- google-cloud-platform - 是否可以按摄取时间对按摄取时间分区的 BQ 表进行集群?
- salesforce - 通过 Docusign rest API 在信封中添加文档时遇到错误
- python - 用于实现二项式期权定价模型的树形数据结构
- bash - bash echo 命令在函数循环中被忽略
- pandas - 如何从熊猫中的对象列中提取和替换整数和浮点值
- docker - docker中的PHPUnit:PowerShell中没有颜色
- c# - 用偏移量看旋转
- temporal-workflow - 如何获取命名空间内所有工作流的搜索属性