根据其他列的条件对多列求和 - SQL Teradata
Sum multiple columns based on criteria from other columns - SQL Teradata
我想从下面显示的 table 中的第 1 列和第 2 列中的每个县获得第 3 列和第 4 列的总分:
County1 | County2 | Player1_Score | Player2_Score
Norfolk | Hampshire | 5 | 7
Suffolk | Norfolk | 10 | 6
Hampshire | Suffolk | 16 | 12
Norfolk | Suffolk | 78 | 50
Hampshire | Norfolk | 4 | 8
Suffolk | Hampshire | 9 | 19
所以我希望看到的结果如下:
Norfolk | 97
Suffolk | 77
Hampshire | 32
有人可以帮忙吗?我尝试了 SELECT/GROUP BY
查询,但对 SQL 还很陌生,无法获得我想要的结果。
非常感谢
试试这个:
SELECT County, SUM(Score) AS TotalScore
FROM (
SELECT County1 AS County, Player1_Score AS Score
FROM mytable
UNION ALL
SELECT County2, Player2_Score
FROM mytable) AS t
GROUP BY County
ORDER BY TotalScore DESC
SEL CNTRY,SUM(SUM1) FROM
(
SEL COUNTRY1 AS CNTRY, SUM(player_score_1) AS SUM1 FROM VT1
GROUP BY 1
UNION
SEL COUNTRY2 AS CNTRY, SUM(player_score_2) FROM VT1
GROUP BY 1
) A
GROUP BY 1
我想从下面显示的 table 中的第 1 列和第 2 列中的每个县获得第 3 列和第 4 列的总分:
County1 | County2 | Player1_Score | Player2_Score
Norfolk | Hampshire | 5 | 7
Suffolk | Norfolk | 10 | 6
Hampshire | Suffolk | 16 | 12
Norfolk | Suffolk | 78 | 50
Hampshire | Norfolk | 4 | 8
Suffolk | Hampshire | 9 | 19
所以我希望看到的结果如下:
Norfolk | 97
Suffolk | 77
Hampshire | 32
有人可以帮忙吗?我尝试了 SELECT/GROUP BY
查询,但对 SQL 还很陌生,无法获得我想要的结果。
非常感谢
试试这个:
SELECT County, SUM(Score) AS TotalScore
FROM (
SELECT County1 AS County, Player1_Score AS Score
FROM mytable
UNION ALL
SELECT County2, Player2_Score
FROM mytable) AS t
GROUP BY County
ORDER BY TotalScore DESC
SEL CNTRY,SUM(SUM1) FROM
(
SEL COUNTRY1 AS CNTRY, SUM(player_score_1) AS SUM1 FROM VT1
GROUP BY 1
UNION
SEL COUNTRY2 AS CNTRY, SUM(player_score_2) FROM VT1
GROUP BY 1
) A
GROUP BY 1