SQL,基于日期列的列中的总和

标签 sql db2

我已经远离 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。

最佳答案

使用SUMGROUP 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/

相关文章:

java - IBM DB2 - 查找我的数据库托管 JDBC 连接的位置?

java - 使用变量作为值插入到带有 Groovy 的 SQL 中

sql - 插入时 db2 SQLCODE -668

sql - 使用 DB2 计算 select 子句中的行数

java - 如何在 SQLite 中向表添加外键?

mysql - 使用 PHP 将 SQL 转储为纯文本

SQL Server 2008 运行大型查询 - 内存不足

sql - 将字段映射到 MS Access 中自己的行