oracle sql分组(group,根据多个内容分组)在select之后from之前 再进行select查询,复杂子查询的使用

数据库中的表结构及内容如下:

表结构

表内容

分组查询语句如下:

复制代码
select TO_CHAR(riqi, 'YYYY-MM'), address, busness, myclass,
       (select sum(money) from my_test where address=b.address and busness=b.busness and myclass=b.myclass and istrue = '是') shi_money,
       (select sum(money) from my_test where address=b.address and busness=b.busness and myclass=b.myclass and istrue = '否') fou_money
from my_test b group by address, busness, myclass, TO_CHAR(riqi, 'YYYY-MM')

对语句的解释如下:

  • 在第一个select的查询中有两个子select ,这两个子select 的where条件中如果是和分组有关的条件则需要和第一个select的一致
  • TO_CHAR(riqi, 'YYYY-MM')在分组中表示的是按照月份进行分组

查询的结果如下:

相关推荐
codeRichLife18 分钟前
Mybatisplus3.5.6,用String处理数据库列为JSONB字段
java·数据库
消失在人海中34 分钟前
oracle与MySQL数据库之间数据同步的技术要点
数据库·mysql·oracle
alicelovesu39 分钟前
全栈开发者的“精神分裂”:当你的本地环境需要同时运行PHP、Node.js和Python
数据库·程序员
2501_9153743539 分钟前
Cypher 查询语言完全指南(2024最新版)—— Neo4j 图数据库实战教程
数据库·neo4j
CHEN5_021 小时前
Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
数据库·redis·分布式·缓存
恰薯条的屑海鸥1 小时前
SQL注入篇-sqlmap的配置和使用
数据库·sql·安全·web安全·渗透测试·网络安全学习
阿蒙Amon1 小时前
C#最佳实践:为何优先使用as或is而非强制转换
服务器·数据库·c#
2401_831501733 小时前
MySQL 知识小结(一)
数据库·mysql
23级二本计科3 小时前
14.MySQL用C语言连接
数据库·mysql
琪阿不会编程3 小时前
Mysql8 忘记密码重置,以及问题解决
android·数据库·sql·mysql