postgresql--column must appear in the group by clause or be used in an aggregate function
2024-10-21 12:46:52
我想得到大于男女平均年龄的人
原表:
在gauss200下执行以下语句:
SELECT stname,age,gender,AVG(age) FROM att_test01 GROUP BY gender HAVING age > AVG(age);
报错:column att_test01.stname must appear in the group by clause or be used in an aggregate function
gauss200是基于开源的postgres-XC开发的分布式关系型数据库系统,这是postgres常见的聚合问题。
解决方法如下:
SELECT b.stname,b.gender,b.age,a.avg FROM (SELECT gender,AVG(age) AS avg FROM att_test01 GROUP BY gender) a LEFT JOIN att_test01 b ON a.gender = b.gender AND b.age > a.avg;
将聚合放到子查询当中,然后与原表进行联合查询。
执行结果:
最新文章
- SqlServer性能优化 性能调控(十)
- Sql Server 分区之后增加新的分区
- user_jj两条记录改成一条
- 1046: 最小的K个数
- 准备找工作第三天——java基础_由有道云笔记倒入
- piwik流量统计系统搭建(apache2.4+piwik+mysql5.6+php5.6.14)
- 详解MemCached原理
- Web 在线文件管理器学习笔记与总结(15)剪切文件夹 (16)删除文件夹
- WEBUS2.0 In Action - 索引操作指南(2)
- V2EX社区
- wdcp系统升级mysql5.7.11
- windows 下查看端口占用命令
- Plus One 解答
- 利用jQuery实现的Ajax 验证用户名是否存在
- 开篇ASP.NET MVC 权限管理系列
- Hibernate【查询、连接池、逆向工程】
- MSSQL---extents
- Linux之命令的组合
- revit二次开发addin文件
- Java学习笔记(9)
热门文章
- java心形打印999
- c语言中printf不输出任何东西?,缓冲区未满不输出任何东西
- 性能测试-top-实时显示系统中各个进程的资源占用状况, 也可以查看线程
- 【转载】Adobe Acrobat XI Pro闪退原因及解决办法
- 无界面Linux系统和Windows系统使用selenium爬取CNVD数据
- python+POM项目设计模式
- noi 1.5 42画矩形
- jmeter中监听器及测试结果分析
- qt creator 在ubuntu22.04下显示不正常处理
- 解决vscode中,powershell中conda activate无效--更改vscode默认的shell为anaconda shell