mysql - MySQL 查询总数
问题描述
我已经执行了这个查询:
SELECT
`tbl_players`.`id` AS `player_id`
,`tbl_players`.`player_name`
,`tbl_sports`.`sports_name`
,`tbl_scores`.`score`
FROM `tbl_players`
LEFT JOIN `tbl_scores` ON `tbl_players`.`id`=`tbl_scores`.`player_id`
LEFT JOIN `tbl_sports` ON `tbl_players`.`sports_id`=`tbl_sports`.`sports_id`
ORDER BY `tbl_players`.`id` ASC
解决方案
使用条件聚合
select player_id,player_name,sports_name,
sum(case when season=1 then score end) as season1_score,
sum(case when season=2 then score end) as season2_score,
sum(case when season=3 then score end) as season3_score
from
(
SELECT
`tbl_players`.`id` AS `player_id`
,`tbl_players`.`player_name`
,`tbl_sports`.`sports_name`
,`tbl_scores`.`score`,`tbl_scores`.`season`
FROM `tbl_players`
LEFT JOIN `tbl_scores` ON `tbl_players`.`id`=`tbl_scores`.`player_id`
LEFT JOIN `tbl_sports` ON `tbl_players`.`sports_id`=`tbl_sports`.`sports_id`
)A group by player_id,player_name,sports_name
推荐阅读
- c# - 如何使用 LINQ 将数组附加到列表?
- groovy - 如何获取 JSR223 预处理器中生成的变量值并在 HTTP 标头管理器中使用
- pyspark - 使用 sparkJDBCDataset 加载数据但 jar 不起作用
- julia - 如何在 Julia 中按值对字典进行排序?
- python - 正确使用 One Hot Encoding,得到意外的值错误
- python - Python 创建的 Word 文件在通过 Win 资源管理器打开时设置为只读
- flutter - 在 _CustomNavigatorState 中找不到路由 RouteSettings("/pomodoro", null) 的生成器
- java - 将第二个 .p12 导入密钥库后的 handshake_failure 和 UNKNOWN_CA
- swift - Flutter Desktop:Firebase Auth 找不到有效的 GoogleService-Info.plist
- python - 使用 make 和 Makefiles 从包含空格的文件路径中处理原始源数据