sum语句计算所有内容,或者北部



我几乎完成了我的项目,但我仍然剩下一个问题。我需要使用SQL代码创建一个摘要。代码是这样的:

"选择总和(列的价格),从Blablabla中选择其他构造1为TRUE或条件2为TRUE或条件3是Blablabla的True组;"

;

问题是,由于OR,我无法使用上述。每当我使用时,就会看到构造1是真的,因此他会忽略其余条件,但是我需要它们来看看它们是否为真。使用"one_answers"而不是"或"导致将结果设置为一无所有的问题,因为这三个都不能始终是正确的。

因此,底线是,我的查询需要在一个字段符合条件的列中计算一些字段。我之所以使用多种条件,是因为有不同种类的产品,但是我以某种方式无法使用al togheter的条件,因为该语句会计算出一个条件的所有条件,或者什么也没算,因为它们不能始终是其中的三个条件。

我该如何修复?

谢谢

SELECT SUM(prices column) as Total
FROM yourTable
WHERE condition1 is true
GROUP BY columnBLabla
UNION ALL
SELECT SUM(prices column)
FROM yourTable
WHERE condition2 is true
GROUP BY columnBLabla
UNION ALL
SELECT SUM(prices column)
FROM yourTable
WHERE condition3 is true
GROUP BY columnBLabla

结果

Total

100 -- total price when condition 1 is true
230 -- total price when condition2 is true
900 -- total price when condition 3 is true

我不确定我是否完全理解这个问题,我认为这是您正在寻找的

SELECT SUM(prices of a column) 
FROM blablabla 
WHERE 
(condintion 1 is true OR condition 2 is true)
AND 
(condintion 1 is true OR condition 3 is true) 
AND 
(condintion 2 is true OR condition 3 is true) 
GROUP BY blablabla;

或可能是

SELECT SUM(prices of a column) 
FROM blablabla 
WHERE 
(condintion 1 is true AND condition 2 is true)
OR 
(condintion 1 is true AND condition 3 is true) 
OR 
(condintion 2 is true AND condition 3 is true) 
GROUP BY blablabla;

我可能会误解,但是,您可以使用案例语句吗?您可以将每个条件都放在其" x为true"语句中。然后,通过变化/不改变您可以将类别进行总结的A。

怎么样?

SELECT
  SUM(CASE WHEN condition1 THEN prices_of_a_column ELSE 0 END) AS prices1,
  SUM(CASE WHEN condition2 THEN prices_of_a_column ELSE 0 END) AS prices2,
  SUM(CASE WHEN condition3 THEN prices_of_a_column ELSE 0 END) AS prices3
FROM blabla
GROUP BY blabla

相关内容

最新更新