【postgresql】ERROR: column “xxxx.id“ must appear in the GROUP BY

org.postgresql.util.PSQLException: ERROR: column "xxx.id" must appear in the GROUP BY clause or be used in an aggregate function
 

错误:列“XXXX.id”必须出现在GROUP BY子句中或在聚合函数中使用

在mysql中是正常使用的,在postgresql是不可以的。

具体SQL 脱敏后的示例:

SELECTID,tenant_id,remarks,SOURCE,create_user,create_time,update_user,update_time,work_source,platform_no
FROMwork_base GROUP BYwork_source

在标准 SQL 中,包含GROUP BY子句的查询不能引用选择列表中未在GROUP BY子句中命名的非聚合列

MySQL 扩展了 的使用,GROUP BY以便选择列表可以引用未在GROUP BY子句中命名的非聚合列。前面的查询在 MySQL 中是合法的。

可以使用此功能通过避免不必要的列排序和分组来获得更好的性能。但是,这主要在每个未在 中命名的非聚合列中的所有值GROUP BY对于每个组都相同时很有用。服务器可以从每个组中自由选择任何值,因此除非它们相同,否则选择的值是不确定的。此外,从每个组中选择值不会受到添加ORDER BY子句的影响。结果集的排序发生在选择了值之后,并且ORDER BY不影响服务器选择每个组中的哪些值。

SQL92 及更早版本不允许查询的选择列表、HAVING 条件或 ORDER BY 列表引用未在 GROUP BY 子句中命名的非聚合列。

SQL99 及更高版本根据可选功能 T301 允许此类非聚合如果它们在功能上依赖于 GROUP BY 列。

怎么破解:

在子查询中完成聚合,然后关联包含需要显示字段的表。

SELECTt.ID,t.tenant_id,t.remarks,t.SOURCE,t.create_user,t.create_time,t.update_user,t.update_time,t.work_source
FROM (SELECT  work_sourceFROMwork_base WHEREwork_source IS NOT NULLGROUP BYwork_base ) t  LEFT JOIN work_base wb   ON t.work_source= wb.work_source




美图欣赏

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/87554.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数字IC笔试千题解--单选题篇(二)

前言 出笔试题汇总,是为了总结秋招可能遇到的问题,做题不是目的,在做题的过程中发现自己的漏洞,巩固基础才是目的。 所有题目结果和解释由笔者给出,答案主观性较强,若有错误欢迎评论区指出,资料…

概率论的相关知识

理解随机变量 X X X和 x x x的区别, F X ( x ) F_X(x) FX​(x)、 f X ( x ) f_X(x) fX​(x) X X X代表的是随机变量, x x x是样本值,是 X X X的具体取值,分布函数 F X ( x ) F_X(x) FX​(x)和概率密度 f X ( x ) f_X(x) fX​(x)中…

投资理财知识分享:100个金融知识专业术语

大家好,我是财富智星,今天跟大家分享一下投资理财知识方面100个金融知识专业术语,希望能帮助大家了解更多金融知识。 1. 股票:代表对一家公司所有权的证券。 2. 债券:公司或政府发行的借款证券。 3. 投资组合&#xff…

00-MySQL数据库的使用-上

一 数据库基础知识 先谈发音 MySQL如何发音?在国内MySQL发音有很多种,Oracle官方文档说 他们念作 My sequal[si:kwəl]。 数据库基本概念 数据 数据(Data)是指对客观事物进行描述并可以鉴别的符号,这 些符号是可识别…

数学建模之遗传算法

文章目录 前言遗传算法算法思想生物的表示初始种群的生成下一代种群的产生适应度函数轮盘赌交配变异混合产生新种群 停止迭代的条件遗传算法在01背包中的应用01背包问题介绍01背包的其它解法01背包的遗传算法解法生物的表示初始种群的生成下一代种群的产生适应度函数轮盘赌交配…

数据结构之【动态数组】

1. 线性表 概念:线性表是n个具有相同特性的数据元素的有限序列。 常见的线性表有:数组、链表、栈、队列、字符串…… 特点: 保存在这个结构中的元素都是相同的数据类型。元素之间线性排列,元素之间在逻辑上是连续的。 线性表…

分类预测 | MATLAB实现WOA-CNN-BiGRU-Attention数据分类预测(SE注意力机制)

分类预测 | MATLAB实现WOA-CNN-BiGRU-Attention数据分类预测(SE注意力机制) 目录 分类预测 | MATLAB实现WOA-CNN-BiGRU-Attention数据分类预测(SE注意力机制)分类效果基本描述模型描述程序设计参考资料 分类效果 基本描述 1.MATLA…

loadEnv是vite的工具函数

loadEnv()函数返回一个对象,这个对象就是根据开发模式还是生产环境加载的.env.development文件里的环境变量,有系统自带的也有自己手写的 loadEnv(第1个参数,第2个参数,第3个参数) 注意:第3个参数如果是“”空字符…

LL库实现正交编码器数据采集

1,首先打开STM32CubeMX,配置一下工程,这里使用的芯片是STM32F103C8T6。 我这里选择了定时器2和3,因为我有两个电机,在定时器模式这边,我们在Combined Channels这个选项里面我们选择Encoder Mode&#xff0c…

关于Julia语言 PyPlot,PyCall报错问题

前提,使用的是annaconda,jupyter 具体的报错为:LoadError: PyCall not properly installed. Please run Pkg.build("PyCall") 如果按照它的提示Pkg.build("PyCall"),也会报错,这可能是因为julia…

OpenCV实现图像的礼帽和黑帽

礼帽运算 黑帽运算 参数 cv.morphologyEx(img,op,kernel)参数: img : 要处理的图像op: 处理方式 代码实现 import numpy as np import cv2 as cv import matplotlib.pyplot as plt from pylab import mplmpl.rcParams[font.sans-serif] [SimHei]#读取图像img1 …

Hyper-V 虚拟机CentOS配置网络(三)

总目录 https://preparedata.blog.csdn.net/article/details/132877836 文章目录 总目录一、创建交换机二、共享网络给交换机三、虚拟机配置交换机四、配置CentOS网络 一、创建交换机 二、共享网络给交换机 打开物理宿主机的控制面板的网络链接中心,此时已经多了一…

【从0学习Solidity】52. EIP712 类型化数据签名

【从0学习Solidity】 52. EIP712 类型化数据签名 博主简介:不写代码没饭吃,一名全栈领域的创作者,专注于研究互联网产品的解决方案和技术。熟悉云原生、微服务架构,分享一些项目实战经验以及前沿技术的见解。关注我们的主页&#…

iOS设置作为蓝牙外设

文章目录 一、 说明二、设置蓝牙外设1. 初始化外设中心2. 创建外设服务3. 获取外设蓝牙状态4. 发送蓝牙数据 三、外设代理1. 状态变更回调2. 中心设备读取数据的时候回调3. 中心设备写入数据的时候回调4. 订阅提示 四、发送广播数据1. 发送不同广播2. beacon广播3. 停止广播 一…

Yarn安装报错和使用

yarn 安装 Yarn 支持 Windows、MacOS 和 Linux 等多个平台。 我们也可以前往官网下载安装包:https://classic.yarnpkg.com/en/docs/install。 同时,也可以使用命令行进行安装,安装命令如下: npm install -g yarn安装报错 ~ % n…

配电室电力监控系统:实时掌握电力运行状况

配电室是电力系统的重要组成部分,负责将发电厂输送的电力分配到各个用电终端。随着电力需求的不断增长,配电室的规模和复杂性也在增加。为了确保电力系统的稳定运行,采用配电室电力监控系统变得至关重要。 一、配电室电力监控系统概述 力…

Python库学习(七):科学计算库Numpy[续篇一]:结构数组

1.介绍 结构数组是NumPy中的一种高级数据结构,它允许用户在单个数组中存储多种数据类型的元素。与普通的NumPy数组不同,结构数组的每个元素可以具有不同的数据类型,并且可以使用字段名来引用这些元素。这使得结构数组非常适合处理表格数据、…

TCP 和 UDP哪个更好

传输控制协议 (TCP) 和用户数据报协议 (UDP) 是互联网的基础支柱,支持从网络源到目的地的不同类型的数据传输。TCP更可靠,而UDP优先考虑速度和效率。本文解释了两种协议的工作原理,并详细讨论了…

【遥遥领先】Eolink IDEA 插件:零代码入侵,自动生成接口

省流版: Eolink 有 IDEA 插件吗? 有,而且遥遥领先!我们在一年半之前就发布了,而且功能更丰富! IDEA 插件市场搜索“Eolink Apikit”即可安装使用。 🚀使用指引:Eolink - IntelliJ ID…

virtualbox无界面打开linux虚拟机的bat脚本,以及idea(代替Xshell)连接linux虚拟机的方法

virtualbox无界面打开linux虚拟机的bat脚本,以及idea连接linux虚拟机的方法 命令行运行代码成功运行的效果图 idea连接linux虚拟机的方法【重要】查看虚拟机的IP地址idea中选择菜单(该功能可代替Xshell软件)配置设置连接成功进入idea中的命令…