sql - SUM 值按列分组但不 'aggregate' 可能吗?

标签 sql group-by amazon-redshift

我想根据 2 个不同的值对达到阈值的次数求和:日期和项目。

Redshift 给我一个错误,要求在分组依据中添加更多列(我不希望在分组依据中出现:“列必须出现在分组依据子句中或在聚合函数中使用”)。

可能出现的另一个问题是代码会聚合我的列,而我想复制 SUM 数。

我有什么

|------------|--------|------------|
| item_type  | date   |thresh_rchd |
|------------|--------|------------|
|    baby    |monday  |      2     |
|------------|--------|------------|
|    tom     |monday  |      6     |
|------------|--------|------------|
|    baby    |monday  |      8     |
|------------|--------|------------|
|    baby    |tuesday |      4     |
|------------|--------|------------|

我想要的:

|------------|--------|------------|-------------|
| item_type  | date   |thresh_rchd |total thresh |
|------------|--------|------------|-------------|
|    baby    |monday  |      2     |     10      |
|------------|--------|------------|-------------|
|    tom     |monday  |      6     |      6      |
|------------|--------|------------|-------------|
|    baby    |monday  |      8     |     10      |
|------------|--------|------------|-------------|
|    baby    |tuesday |      4     |      4      |
|------------|--------|------------|-------------|

最佳答案

你可以像下面这样使用窗口函数来尝试

select item_type, date, thresh_rchd, 
       sum(thresh_rchd) over(partition by item_type, date) as total_thresh
from tablename

关于sql - SUM 值按列分组但不 'aggregate' 可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55808505/

相关文章:

javascript - SQL 多个多对多自引用关联 (Sequelize.js)

mysql - 在 N-M 关系中具有复合主键

php - 循环检查表中是否存在并生成随机字符串

python - 根据不同的列值分配唯一值

mysql - 使用 GORM 或 MySql 分组

python - 无法在 redshift 中的表上写入

amazon-web-services - Amazon Redshift 在调整大小操作期间卡在 99%

sql - Firebird 2.5 VS Interbase 9/XE - 哪个性能更快?

mysql - 检索每组中的最后一条记录 - MySQL

amazon-redshift - Amazon Redshift 授权 - 即使用户已授权给架构中的所有表,也无法访问新表