【发布时间】:2021-11-05 18:51:30
【问题描述】:
我有一个数据集,我想在其中使用 SQL Server 对两个不同的查询进行分组、过滤和求和。
数据
name stack life date avail
aa unused remove 9/1/2021 5
aa hi keep 9/1/2021 1
aa hey stay 9/1/2021 1
aa hey fix 9/1/2021 2
aa hey keep 9/1/2021 4
aa hi no 9/1/2021 1
aa hi fix 9/1/2021 1
bb ok fix 9/1/2021 1
bb yes remove 9/1/2021 1
bb ok keep 9/1/2021 1
bb ok fix 9/1/2021 1
bb ok yes 9/1/2021 3
bb unused remove 9/1/2021 3
bb ok keep 10/1/2021 1
希望 (逻辑)
- 按名称分组并过滤到 2021 年 9 月 1 日的日期
- WHERE 堆栈!= '未使用'
- “保持”和“停留”的生活
+
- 按名称分组并过滤到 2021 年 9 月 1 日的日期
- WHERE 堆栈!= '未使用'
- “保持”生命
- 汇总有效性列
输出应该是:
name date sum_avail
aa 9/1/2021 11
bb 9/1/2021 2
我尝试过的:
SELECT name, date, SUM(avail) AS sum_avail
FROM table
(WHERE stack NOT LIKE 'unused' AND WHERE life IN ('keep','stay') AND WHERE date == '9/1/2021')
+
(WHERE stack NOT LIKE 'unused' AND WHERE life IN ('keep') AND WHERE date == '9/1/2021')
GROUP BY name
任何建议都有帮助。
【问题讨论】:
标签: sql sql-server tsql sql-server-2008