社区
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就不会错 这是为什么?
...全文
3727
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写文章
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
打赏
举报
回复
因为必须要按照前面的维度来做聚集
比如你按年龄,性别做维度,聚集人数
你不能只选年龄做聚集维度
must appear in the
GROUP
BY clause or be used in an aggregate function
今天在分组统计的时候
pg
sql
报错 must appear in the
GROUP
BY clause or be used in an aggregate function,在my
sql
里面是可以的,但是
pg
sql
报错,我去stackoverflow
查询
了一下,发现有人遇到过和我一样的问题,这是
pg
sql
一个常见的聚合问题,在
SQL
3标准以前,选择显示的
字段
必须
出现在在
GROUP
...
关于
sql
,
group
by
查询
多
字段
的问题。
文章优先发表在个人博客,后续更新可能忘记同步到CSDN。 个人博客本篇文章位置:https://www.xdx97.com/article?bamId=662638428143222784 使用
GROUP
BY后,每一类的数据都是取自默认排序的第一条。 假如有下面这样一张表(表名 xdx_test),我们需要对其进行如下操作。 id name type score 1 张三 ...
postgre
sql
group
by后在
查询
其他未分组的
字段
postgre
sql
使用
group
by组数据,并且有求和的
字段
表:user_order id goods money num price code createtime userid 1 商品0 100 2 50 0006 2020-11-25 19:00:00 2596 2 商品0 100 1 100 0006 2020-11-25 19:01:00 2597
【postgre
sql
基础入门】分组
查询
group
by 子句的写法,分组条件过滤having子句的写法,多列的分组以及与join联合的多表分组
在数据
查询
中
,我们经常对数据进行分类,往往不止一种分类,分类的好处是将大的数据集能划分成更小的数据集,方便我们进行递归的分析,更精确的查找想要的数据。 那么如何进行分组,以及分组
中
的过滤查找呢? 对结果集进行分组,是在前面介绍的基本
查询
`select ... from ... where ... ` 后面再使用 `
group
by `关键字;在分组上进行按条件筛选过滤就不能使用`where`子句
中
的条件了,而是使用`having`关键字来指定条件;
关于postgre
sql
group
by 报错
举个例子: tablename:makerar cname|wmname|avg --------+-------------+------------------------ canada|zoro|2.0000000000000000 spain|luffy|1.00000...
PostgreSQL
975
社区成员
1,472
社区内容
发帖
与我相关
我的任务
PostgreSQL
PostgreSQL相关内容讨论
复制链接
扫一扫
分享
社区描述
PostgreSQL相关内容讨论
sql
数据库
数据库架构
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章