gpt4 book ai didi

mysql - 使用 MySQL 多次选择同一列

转载 作者:行者123 更新时间:2023-11-29 05:25:57 26 4
gpt4 key购买 nike

假设我有这样的东西:

MySQL 表

Date     | Name    |    Val
22/11 | a | 1
22/11 | b | 2
22/11 | a | 3
22/11 | a | 4
23/11 | b | 1
23/11 | a | 2
23/11 | a | 3
23/11 | a | 5

我需要一个查询,在一列上显示 Name = 'a' 时每一天的值总和,在另一列上显示所有值的总和(也是每一天)。

在我的示例中,结果将是这样的:

Date    | a.Total  |    Total
22/11 | 8 | 10
23/11 | 10 | 11

我试过这样的:

SELECT date, SUM(Val) AS a.Total, SUM(Val) AS Total FROM tbl1 Where Name = 'a' 

关键是我需要指定一个 WHERE 子句来获取“a.total”值 (WHERE Name = 'a'),但我不希望它应用于获取总数。
我也尝试过使用 Left Join 进行查询,但没有成功。

非常感谢任何帮助。

最佳答案

您应该在第一个 SUM() 中使用 GROUP BYCASE

SELECT date, 
SUM( CASE WHEN Name='a'
THEN Val
ELSE 0
END) AS a_Total,
SUM(Val) AS Total

FROM tbl1
GROUP BY `Date`

SQLFiddle demo

关于mysql - 使用 MySQL 多次选择同一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20288015/

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