Java开发日常-Oracle中group by与order by配合使用

数据分析师必学:从零到实战的SQL系统学习路线全攻略 在数据驱动决策的时代,SQL作为访问和操作数据库的核心语言,是数据分析师连接数据与业务洞察的关键技能。掌握SQL不仅意味着能进行基础的增删改查,更涵盖了数据清洗、聚合统计、多表关联以及性能优化等复杂工程能力。无论是MySQL、PostgreSQL还是其他关系型数据库,理解其查询逻辑与优化原理,都能显著提升数据处理的效率与质量。从电商订单分析到用户留存计算,SQL广泛应用于各类业务场景,是数据岗位面试与日常工作的必备技能。本文系统梳理了SQL从环境搭建、核心语法、实战项目到性能优化的完整学习路径,帮助零基础入 阅读详情

现象

  • 在group by 和order by配合使用执行oracle数据库查询时,出现异常

原SQL语句

select  SDEPARTMENT, SCONTRACT_NAME, avg(DCONTRACT_VALUE) DCONTRACT_VALUE
from HY_PROJECT_ACCOUNTBOOK 
where SPROJECT_ID = 'EERIU651453'
group by SCONTRACT_NAME, SDEPARTMENT
order by INUM desc;

异常

ORA-00979: 不是 GROUP BY 表达式
00979. 00000 -  "not a GROUP BY expression"

原因

  • order by 排序的对象是group by 分组之后的数据,很显然没有INUM字段

  • 假设没有order by 排序的需求

select  SDEPARTMENT, SCONTRACT_NAME, avg(DCONTRACT_VALUE) DCONTRACT_VALUE
from HY_PROJECT_ACCOUNTBOOK 
where SPROJECT_ID = 'EERIU651453'
group by SCONTRACT_NAME, SDEPARTMENT;

  • 新增按INUM排序的需求(group by 字句中新增INUM字段)
select min(INUM) INUM,  SDEPARTMENT, SCONTRACT_NAME, avg(DCONTRACT_VALUE) DCONTRACT_VALUE
from HY_PROJECT_ACCOUNTBOOK 
where SPROJECT_ID = 'EERIU651453'
group by SCONTRACT_NAME, SDEPARTMENT
order by INUM desc;

MyBatis企业级开发实战:从CRUD到高级特性 MyBatis作为Java生态中广泛使用的ORM框架,以其灵活的SQL控制能力和简洁的配置方式著称。不同于全自动化的Hibernate,MyBatis允许开发者直接编写SQL语句,从而获得更精确的性能控制和优化空间。其核心原理是通过XML或注解将Java方法与SQL语句映射,实现对象关系映射(ORM)的同时保留SQL的灵活性。在企业级应用中,MyBatis的动态SQL功能可以优雅地处理复杂查询条件,二级缓存机制能显著提升系统性能,而插件体系则允许深度定制框架行为。特别是在金融支付、电商等高并发场景下,合理的 阅读详情

相关推荐

Snowflake与Redshift选型核心:控制权粒度与认知负荷成本

云数据仓库本质是组织能力与技术复杂度的匹配系统。其底层架构差异——尤其是计算存储是否真正解耦、元数据管理是否虚拟化、资源调度是否运行时隔离——直接决定运维效率、弹性响应和总拥有成本。Snowflake以服务化虚拟层实现秒级扩缩容与零管理体验,降低团队认知负荷;Redshift则依托深度可控的MPP引擎提供极致调优空间,但要求高阶DBA能力支撑。二者差异不在‘云’或‘SQL兼容性’等表层概念,而在于控制权粒度:从WLM队列策略到DISTKEY设计,从Time Travel实现机制到AI函数嵌入方式,每项能力都

weixin_30698297的博客 585

Oracle中SQL与PL/SQL选型实战:操作粒度、逻辑复杂度与执行位置三把尺子

SQL是声明式数据操作语言,核心价值在于解耦‘要什么’与‘怎么做’,依赖优化器生成执行计划;PL/SQL则是过程化编程语言,专为分支判断、循环控制、异常处理和多步事务编排而生。二者差异本质是问题域的分野:单集查询、原子更新优先用SQL以保障性能与可维护性;涉及状态管理、跨表联动、副作用(如发邮件/写日志)或批量校验时,则必须交由PL/SQL。Oracle数据库内生执行、减少网络往返、规避上下文切换(如BULK COLLECT+FORALL),是PL/SQL不可替代的技术价值。典型应用场景包括会员等级实时计算

anwenzhao0749的博客 404

Oracle安装包全流程指南:从解压到RAC搭建与高频SQL操作

数据库环境搭建是企业应用开发和运维的基础环节,而许多开发者的起点往往是一个从网盘或论坛流传出来的“Oracle安装包.zip”。这类压缩包并非官方标准介质,解压后常因服务端、客户端与JDK概念混淆而陷入困境。理解Oracle软件组成、校验安装包完整性(如SHA256),并理清系统JDK与数据库自带运行时的区别,是避免后续连环报错的前提。在Windows或Linux上准备环境时,内核参数、依赖库和字符集选择都会影响最终可用性。新装环境常见的ORA-28547连接失败、12c删除不干净导致重装失败等问题,都有成

weixin_34265814的博客 408

order by和group by的区别

order by 是按表中某字段排列表中数据 group by 是按某些字段分类

liangweihao的博客 1264

Oracle安装包.zip解密:从解压报错到安装运维全指南

数据库安装是运维与开发的基本功,而Oracle作为企业级关系型数据库的常青树,其安装包的处理却常让人头疼。一个名为“Oracle安装包.zip”的文件,可能隐藏着二次压缩、文件损坏甚至伪装恶意程序等风险。压缩包完整性校验是第一步,哈希值比对、正确选择解压工具、避免中文路径都能显著降低失败概率。面对“EOCD not found”或CRC校验错误,理解zip结构原理有助于快速定位问题。安装阶段则会遇到ora-28547监听配置错误、JDK版本不匹配等高频陷阱。装好之后,等保基线加固、数据泵导出导入、分页SQL

weixin_30386713的博客 429

Java+SQL Server房屋中介管理系统实战开发指南

房屋中介管理系统是典型的中小型企业业务信息化场景,核心诉求在于数据强一致性、流程可追溯与低运维门槛。其技术本质是关系型数据库事务管理与Web应用分层架构的工程实践,涉及Java后端开发、SQL Server数据库设计、Windows环境集成及中文字符集兼容等关键能力。系统需支撑房源生命周期管理、客户归属权控制、带看预约防重、佣金自动计算等高频业务逻辑,同时满足无专职DBA团队的自主部署与日常维护需求。本文聚焦Java 17与SQL Server 2019组合在真实中介场景中的落地路径,覆盖环境配置、连接排错

weixin_30768881的博客 248

GROUP BY,HAVING与ORDER BY

1、GROUP BY:分组函数 使用要求:可以包含任意数目的列,可以进行分组嵌套; GROUP BY列出的每一列都必须是检索列或是有效的表达式(不能是聚集函数); 如果SELECT 列使用了表达式,则分组时GROUP BY也必须使用表达式,不能使用别名,例如一些时间的提取时使用YEAR(字段) 别名,则分组应该使用YEAR(字段),而不是别名; GROUP BY 字段一般不允许包含长度可变的数据类型,例如一些备注字段; GROUP BY 通常是和聚集函数(AVG,SUM,COUNT,MAX,MIN

weixin_44813544的博客 2048

银河麒麟V10 SP1忘记密码?3分钟搞定单用户模式密码重置(附详细截图)

本文详细介绍了银河麒麟V10 SP1操作系统忘记登录密码后的应急恢复方法。核心是通过GRUB引导菜单进入单用户模式,无需密码即可获得root权限,从而快速重置用户密码。文章提供了从捕捉GRUB界面、编辑启动参数到执行密码修改命令的完整步骤图解与常见问题解决方案,帮助用户在几分钟内恢复系统访问。

w3x4y的博客 916

group by以及order by

数据库分组、排序

weixin_43743711的博客 877

PHP项目实战:易宝支付SDK对接全流程(含回调处理与常见问题排查)

本文详细介绍了PHP项目中易宝支付SDK的对接全流程,包括环境准备、SDK配置、支付请求构建与发起、回调处理实战以及常见问题排查。特别针对回调处理环节的常见问题提供了解决方案,帮助开发者快速完成支付对接并优化性能。

weixin_29007809的博客 388

sram设计流程+memory compiler整理

→。

qq_50761108的博客 1万+

GROUP BY 和 ORDER BY 同时使用时,要先GROUP BY 再 ORDER BY ,否则会无效

GROUPBY 和 ORDERBY 同时使用时,要先GROUPBY 再 ORDERBY ,否则会无效

qq_43904612的博客 1059

手把手教你用STM32硬件SPI驱动BMI088陀螺仪(附完整代码)

本文提供了一份详尽的STM32硬件SPI驱动BMI088陀螺仪的实战指南。内容涵盖从硬件连接、SPI底层配置、驱动层封装到设备初始化、数据读取与同步策略,并深入探讨了数据处理、滤波融合及温度补偿等核心技巧,旨在帮助开发者构建稳定高效的IMU驱动框架,解决BMI088应用中常见的挑战。

quiet的专栏 529

group by和order by的用法和区别

一、order by的用法 使用order by,一般是用来,依照查询结果的某一列(或多列)属性,进行排序(升序:ASC;降序:DESC;默认为升序)。 当排序列含空值时: ASC:排序列为空值的元组最后显示。 DESC:排序列为空值的元组最先显示。 为了好记忆,我的理解是,可以把null值看做无穷大,因为不知道具体为多少。然后去考虑排序,asc升序null肯定在最后,而desc降序,n...

留下你的观点 6万+

Python爬虫实战:基于Scrapy和Playwright的深交所数据采集

本文将详细介绍如何使用Python最新技术栈(Scrapy框架结合Playwright浏览器自动化)爬取深圳证券交易所(www.szse.cn)的公开数据。文章包含完整项目搭建、反爬策略应对、数据解析存储等全流程实现,并附详细代码示例和性能优化建议。python复制下载# 上市公司基本信息# 财务数据revenue = scrapy.Field() # 营业收入net_profit = scrapy.Field() # 净利润eps = scrapy.Field() # 每股收益。

2201_76125261的博客 950

【Bug已解决】openclaw max turns reached / Tool calls exceeded limit — OpenClaw 最大轮次超限解决方案

OpenClaw 在执行过程中达到最大轮次限制任务未完成,本质是 --max-turns 设置过小或任务过于复杂。文中给出增加轮次、--continue 继续、分步执行等完整方案。

一键难忘的博客 5505

SQL核心语句深度解析:从SELECT到DDL的实战指南与最佳实践

SQL(结构化查询语言)是关系型数据库管理的核心,它通过声明式语法实现对数据的查询、操作和定义。其工作原理基于关系代数,允许用户描述所需数据,而由数据库引擎优化执行路径,这体现了声明式编程的优势。掌握SQL对于确保数据操作的准确性、提升查询效率以及维护数据完整性具有关键的技术价值,是后端开发、数据分析、系统运维等领域的必备技能。在实际应用场景中,无论是构建业务报表、实现用户交互功能还是进行数据迁移,都离不开对DQL(数据查询)、DML(数据操作)和DDL(数据定义)语句的熟练运用。本文将聚焦于**SELEC

weixin_33910137的博客 358

一台NAS两个系统:飞牛nas上完美运行群晖DSM?(飞牛nas+群晖nas套娃安装实操)

想在飞牛NAS上体验群晖DSM系统?💡 本文详细记录了飞牛nas上部署群晖的完整过程,从镜像转换到系统安装,每一步都有详细说明 🖥️,让你在不增加硬件成本的情况下,轻松实现一套硬件、多种系统的灵活部署 ✅

XiaoqiangClub的博客 2370

日常开发笔记(不定期更新)

1、可以利用"\v"=="v"来判断浏览器类型,IE中该等式成立,其他浏览器中则不成立 if("\v"=="v"){ alert("这是IE"); }else{ alert("这是其他浏览器") } 2、eclipse中,可以使用ctrl+shift+o来自动加上包引用或者去除无效引用,与自己添加的代码模板配合非常好用 3、html的div滚动条同步代码...

lhjllff12345的专栏 639

弱网、高热、只有 32MB 内存:恶劣环境下嵌入式 SoC 音视频开发的“不死”法则

永远不要假设。你申请一个 1920 宽的图像,硬件为了对齐(比如 16 字节对齐或 256 字节对齐),实际分配的一行可能有 1936 甚至是 2048 字节。那个多出来的部分叫Padding。如果你写代码时用来计算数据量,或者用Width来做指针偏移:恭喜你,你的画面会像被风吹歪的百叶窗一样,产生斜切畸变。永远使用VB_CONF结构体里返回的u32Stride字段。这是区分新手和老手的试金石。第六章 ISP 调优(Tuning)实战:为什么你调出的画面像个“鬼片”?

大模型大数据攻城狮的专栏 1769

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

MySQL数据库入门:从零搭建到核心SQL语法与实战应用

很多同学在刚开始接触后端开发或数据分析时,面对数据库总感觉无从下手,尤其是看到复杂的 SQL 语句和数据库管理工具时,更是望而却步。其实,掌握数据库的核心在于理解其基本概念和操作逻辑,而 MySQL 作为全球最流行的开源关系型数据库,是入门数据库技术的最佳选择。本文将从零开始,手把手带你搭建 MySQL 环境,并系统性地讲解从基础 SQL 语法到高级查询、数据类型、函数乃至与编程语言结合的完整知识体系。无论你是想转行后端开发、从事数据分析,还是希望提升自己的技术栈,这篇涵盖安装、配置、核心语法、实战案例与最

weixin_30719711的博客 358

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

MySQL新手避坑指南:从建表设计到增删改查的实战入门

关系型数据库是软件开发的基石,而SQL作为操作这些数据库的标准语言,是每位开发者必须掌握的核心技能。对于刚接触数据库的初学者,理解MySQL与SQL的关系、学会设计合理的表结构、掌握增删改查的正确姿势,往往比背诵命令更重要。本文从数据库设计的基础思维讲起,围绕主键、字段类型选择等关键概念,结合实际案例演示了INSERT、UPDATE、DELETE、SELECT的常见误区和安全操作原则,并覆盖了排序分页、聚合统计、ALTER TABLE修改结构等高频实用场景。同时针对MySQL 8.0安装配置中的经典问题,如

WGH100817的博客 315

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Oracle - 插入、更新、删除,DML语句核心用法

INSERT是数据生命的起点,UPDATE是其成长与修正的脉搏,DELETE是其优雅退场的仪式。它们共同构成数据库最基础、最频繁、也最需敬畏的操作集合。本文从语法细节出发,穿越事务隔离、并发控制、Java 集成、安全防护与性能优化的层层关卡,试图为你构建一张完整的 DML 认知地图。永远显式书写WHERE—— 这是职业素养的底线;拥抱RETURNING与MERGE—— 它们让代码更短、更安全、更高效;用乐观锁应对高并发,用解决强一致—— 没有银弹,只有权衡;监控你的 DML,像监控心跳一样。

千淘万漉虽辛苦,吹尽狂沙始到金 1万+

存储过程不是高级功能,而是SQL工程师的日常基本功

存储过程是数据库中预编译、命名化、可复用的SQL逻辑封装机制,其核心价值在于保障事务一致性、消除重复SQL、降低跨层耦合。它基于关系型数据库原生执行引擎,天然支持ACID、锁控制与执行计划缓存,技术原理直指高并发、强一致、低延迟等关键工程诉求。在订单履约、风控计算、金融清算等典型场景中,存储过程能替代ORM低效查询、规避应用层分布式事务缺陷、统一审计与权限逻辑。尤其当业务涉及多表关联≥3张、SQL日均执行>5次、数据一致性要求>99.99%时,用户自定义存储过程便从‘可选项’变为不可替代的基础设施能力。

weixin_34126557的博客 323

前端学 Java 课程笔记

面向前端开发人员:大量以前端概念类比

estrusKing的博客 230

MySQL零基础入门指南:从建库建表到索引优化与SQL注入防御

在数据驱动的开发时代,关系型数据库是后端技术的基石。对于零基础学习者,理解数据库、SQL与MySQL的关系是第一步:SQL作为标准查询语言,通过MySQL这类数据库管理系统,操作结构化数据。本文从最基础的建库建表、增删改查等CRUD操作讲起,逐步深入到条件查询、排序分组、多表关联、事务ACID特性及索引加速原理,并涵盖慢查询日志分析与SQL优化思路,同时强调SQL注入的危害与参数化查询的防御方法。全文以工程实践为导向,帮助初学者快速建立MySQL核心知识框架,覆盖日常开发80%以上高频场景,为后续学习事务隔

weixin_30616969的博客 355
上一篇: Java开发日常-Mybatis报错:java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符
下一篇: iOS编程语言-Swift中结构体和枚举是值类型
Clumsy-Bird
博客等级 码龄11年 5粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值