社区
PostgreSQL
帖子详情
pgsql中group by 函数 为什么必须要加上查询的所有字段?
kang#kang
2018-09-05 05:56:26
问题:在pg中 使用group by后面 必须跟selecte 后面的除了聚集函数外的所有字段
这是为什么?
比如:
SQL:select count(*), brand_id, brand_desc FROM product GROUP BY brand_id, brand_desc
如果group by 后只加上 brand_id 则报错 加上brand_desc就不会错 这是为什么?
...全文
3614
6
打赏
收藏
pgsql中group by 函数 为什么必须要加上查询的所有字段?
问题:在pg中 使用group by后面 必须跟selecte 后面的除了聚集函数外的所有字段 这是为什么? 比如:SQL:select count(*), brand_id, brand_desc FROM product GROUP BY brand_id, brand_desc 如果group by 后只加上 brand_id 则报错 加上brand_desc就不会错 这是为什么?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hu0829
2018-11-18
打赏
举报
回复
oracle不是也一样
zjcxc
2018-09-10
打赏
举报
回复
mysql 支持,不过不在 GROUP BY 中的列是视为自动加聚合函数 ANYROW
ckc
2018-09-08
打赏
举报
回复
所有数据库都是这样的,因为不在group by 后面的字段可能并不相同,也就是说没有明确的值,所以不支持这种查询方法
kang#kang
2018-09-07
打赏
举报
回复
好吧 貌似明白了
chenghangstar
2018-09-06
打赏
举报
回复
引用 1 楼 chenghangstar 的回复:
因为必须要按照前面的维度来做聚集
比如你按年龄,性别做维度,聚集人数
你不能只选年龄做聚集维度
系统无法自动处理性别
chenghangstar
2018-09-06
打赏
举报
回复
因为必须要按照前面的维度来做聚集
比如你按年龄,性别做维度,聚集人数
你不能只选年龄做聚集维度
postgre
sql
多行记录合并与拆分
postgre
sql
数据库多行记录的列合并成一列和一行的一列转成多行的列
oracle
sql
去重复记录不用distinct如何实现
本文将详细介绍oracle
sql
去重复记录不用distinct如何实现,需要了解的朋友可以参考下
SQL
语法
查询
(W3school)
SQL
语法
查询
(W3school), 罗列了
SQL
常用的语句用法,以及各种参数解释。
在My
SQL
concat里面使用多个单引号,三引号的问题
今天小编就为大家分享一篇在My
SQL
concat里面使用多个单引号,三引号的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
postgre
sql
官方手册的
中
文版
postgre
sql
官方手册的
中
文版,网页的形式,The Postgre
SQL
Global Development
Group
PostgreSQL
972
社区成员
1,472
社区内容
发帖
与我相关
我的任务
PostgreSQL
PostgreSQL相关内容讨论
复制链接
扫一扫
分享
社区描述
PostgreSQL相关内容讨论
sql
数据库
数据库架构
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章