Сумма значений группируется по столбцам, но не возможно «агрегирование»? - PullRequest
2 голосов
/ 23 апреля 2019

Я хочу суммировать количество достигнутых порогов в соответствии с 2 различными значениями: дата и элемент.

Redshift выдает мне ошибку, запрашивая дополнительные столбцы в группе по (что я не хочу в группе по: «столбец должен появляться в предложении group by или использоваться в статистической функции»).

Другая проблема, которая может возникнуть, заключается в том, что код объединяет мои столбцы, и я хочу продублировать номер 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      |
|------------|--------|------------|-------------|

Ответы [ 2 ]

2 голосов
/ 23 апреля 2019

вы можете попробовать, как показано ниже, используя оконную функцию

select item_type, date, thresh_rchd, 
       sum(thresh_rchd) over(partition by item_type, date) as total_thresh
from tablename
0 голосов
/ 23 апреля 2019
select t1.item_type,t1.date,t1.thresh_rchd,t2.total
from <table> t1
inner join
(
select item_type,date,sum(thresh_rchd) total from <table>
group by item_type,date) t2
on t1.item_type=t2.item_type
and t1.date=t2.date
...