说我有三列,一列是日期,一列是值,一列是某种类别。我可以使用以下代码获取按日期分组的值的总和
SELECT date, SUM(values) from table WHERE category = condition GROUP BY date
我可以用
得到所有值的总和。SELECT date, SUM(values) from table GROUP BY date
我希望SUM(values)列的值等于(SUM(values),其中category = condition)/(SUM(values)),或者用简单的话来说,等于该条件下值的比例。有没有办法在一个查询中做到这一点?谢谢!
答案 0 :(得分:1)
您可以在CASE
之类的集合函数中使用SUM
条件。
SELECT
date,
(
SUM(CASE WHEN category = condition Then values ELSE 0)
/ SUM(Values)
) as proportion
from table
GROUP BY date