gpt4 book ai didi

php - 合并所有 3 个 SUM 查询以从同一表和同一列但使用不同的子句获取总和

转载 作者:行者123 更新时间:2023-11-30 21:55:39 27 4
gpt4 key购买 nike

我在mysql中有一个表

==================================================
ID | TEAM_ID | PTS | COMPETITION
==================================================
1 | 1 | 10 | zc
--------------------------------------------------
2 | 1 | 15 | po
--------------------------------------------------
3 | 1 | 5 | sp

我正在尝试找出正确的查询以获取 PTS 列 SUM 的结果,其中列 team id 等于 1。这就是我得到的

SELECT SUM(pts) FROM 
(SELECT SUM(pts) FROM `stats_2016/2017` WHERE `team_id`='1' AND `competition`='zc'
UNION ALL
SELECT SUM(pts) FROM `stats_2016/2017` WHERE `team_id`='1' AND `competition`='po'
UNION ALL
SELECT SUM(pts) FROM `stats_2016/2017` WHERE `team_id`='1' AND `competition`='sp'
)

我想得到的结果是 30 (10+15+5)...

最佳答案

三个变化:

  1. 为内联 View (派生表)分配别名
  2. 为内联 View 的第一个 SELECT 中的表达式指定一个别名。 (该别名将用于派生表中的列名。(
  3. 在外部查询中,通过分配的别名引用内联 View 中的列。

  SELECT SUM(v.totpts) AS totpts 
-- 3.-- ^^^^^^
FROM ( SELECT SUM(pts) AS totpts FROM `stats_2016/2017` ...
-- 2.-- ^^ ^^^^^^
UNION ALL
SELECT SUM(pts) FROM `stats_2016/2017` ...
) v
-- 1.-- ^

关于php - 合并所有 3 个 SUM 查询以从同一表和同一列但使用不同的子句获取总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45285431/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com