我已经远离 SQL 很长时间了,有点生疏了。假设我的表中有 3 列:用户名、销售值(value)、日期。
我需要一个 select 语句来显示基于此表的 4 列:
username
sum of value_of_sales (where date = today)
sum of value_of_sales (where date = today-1)
sum of value_of_sales (where date = today-2)
我使用的是db2。
最佳答案
使用SUM
和GROUP BY
。
SELECT username,
(CASE WHEN date = CURRENT_DATE THEN value_of_sale ELSE 0 END) AS SUMtoday,
(CASE WHEN date = DAYOFYEAR(CURRENT_DATE) - 1 ) THEN value_of_sale ELSE 0 END) AS SUMtoday-1,
(CASE WHEN date = DAYOFYEAR(CURRENT_DATE) - 2 ) THEN value_of_sale ELSE 0 END) AS SUMtoday-2
FROM yourtable
GROUP BY username
关于SQL,基于日期列的列中的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46280420/