SQL 从子查询中使用条件选择
SQL selecting with conditioning from a subquery
我正在尝试从一个查询中执行两个求和函数。但是,我只想在满足特定条件的情况下只执行其中一个求和函数而不影响另一个求和函数。
我在想的是使用类似于 select x where condition = 1 from AC 的东西,但是这是不可能的。
这是示例查询,我希望第二个 [sum(t.match)] selection 仅计算子查询中的结果:match = 1,同时仍然获得总和所有数量。
select
sum(t.qqty), sum(t.qqty)
from
(select
car, cqty, qqty,
case when cqty = qqty then 1 else 0 end as match,
location, state) t
使用条件聚合——即 case
作为 sum()
:
的参数
select sum(t.qqty), sum(case when condition = 1 then t.qqty else 0 end)
from t;
我正在尝试从一个查询中执行两个求和函数。但是,我只想在满足特定条件的情况下只执行其中一个求和函数而不影响另一个求和函数。
我在想的是使用类似于 select x where condition = 1 from AC 的东西,但是这是不可能的。
这是示例查询,我希望第二个 [sum(t.match)] selection 仅计算子查询中的结果:match = 1,同时仍然获得总和所有数量。
select
sum(t.qqty), sum(t.qqty)
from
(select
car, cqty, qqty,
case when cqty = qqty then 1 else 0 end as match,
location, state) t
使用条件聚合——即 case
作为 sum()
:
select sum(t.qqty), sum(case when condition = 1 then t.qqty else 0 end)
from t;