sql - SQL 中的 Group by 返回错误:选定的非聚合值必须是关联组的一部分
问题描述
我有一个看起来像这样的表:
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;
以上给了我一个错误,“创建表失败。[3504] 选定的非聚合值必须是关联组的一部分。
解决方案
您正在选择所有tableA
(包括标志)。您应该只提取日期和商店,因为您想要标志的总和。
SELECT date, store, SUM(flag)
FROM tableA
GROUP BY date, store
推荐阅读
- c++ - 如何在 c++ 中为 tensorflow-lite 设置图像输入?
- reactjs - 使用 Draft-js 时传递给孩子后缺少道具
- php - php如何发布带有2个变量的日期范围选择器
- spring-boot - 关于 spring.http.multipart.max-file-size 与 spring.servlet.multipart.max-file-size 的混淆
- android - RecyclerView wrap_content 不适用于 API 23 及更高版本
- javascript - aframe 0.8.2 加载 VR 作为魔法窗口/novr 耳机/进入 VR 而不分屏
- excel - 图表有时会导出到空白 .jpg 文件
- python - 熊猫填充到空字典
- state-machine - Enterprise Architect 可以从源代码逆向工程状态机图吗?
- javascript - 在javascript中使用动态键名推送数组值