在SQL返回错误中分组:所选的非聚合值必须是关联组的一部分

时间:2018-05-08 18:05:49

标签: sql group-by teradata

我有一个看起来像这样的表:

       date      store   flag
1    5/4/2018      a       1
2    5/4/2018      a       1
3    5/3/2018      b       1
4    5/3/2018      b       0
5    5/2/2018      a       1
6    5/2/2018      b       0

我想按日期分组并存储并总结标志数

即。 table_a如下:

       date      store   total_flag
1    5/4/2018      a       2
3    5/3/2018      b       1
4    5/2/2018      a       1
5    5/2/2018      b       0

这就是我正在尝试的:

create multiset volatile table flag_summary as (
 sel table_a.*, SUM(table_a.flag) as total_flag
 group by date, store
)
with data primary index (date, store) on commit preserve rows;

上面给出了一个错误,“CREATE TABLE Failed。[3504]选定的非聚合值必须是关联组的一部分。

1 个答案:

答案 0 :(得分:1)

您正在选择所有tableA(包括旗帜)。你应该只是拉日期和商店,因为你想要标志的总和。

SELECT date, store, SUM(flag)
FROM tableA
GROUP BY date, store