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')在分组中表示的是按照月份进行分组

查询的结果如下:

相关推荐
敲个大西瓜4 小时前
Redis一百道核心面试题
数据库·redis·缓存
阿里云大数据AI技术4 小时前
EMR Serverless Spark AI Function 的双维降本实践
人工智能·sql·spark
無a伟7 小时前
Redis持久化详解:RDB与AOF原理、配置、优缺点
数据库
小罗水8 小时前
附录A 各微服务完整 application.yml 配置汇总
数据库·elasticsearch·微服务
muddjsv8 小时前
SQLite 外键进阶:CASCADE / SET NULL / 级联更新与完整性校验
数据库·sqlite
APItesterCris8 小时前
Open Claw 实战教程:5 分钟搭建京东商品自动化监控与数据分析系统
大数据·运维·数据库·数据仓库·自动化
Nturmoils8 小时前
查库存的 SQL 时灵时不灵,最后发现是 WHERE 里两个函数在打架
数据库
不想纳尼的青春9 小时前
where = 的作用?会影响性能吗?count(*) 和 count()哪个快?
数据库·oracle
倔强的石头_9 小时前
Spring Boot 接入金仓数据库:配置分层、启动自检与常见错误
数据库
杨云龙UP10 小时前
生产环境Oracle表空间扩容实战:使用Toad for Oracle图形界面新增Datafile(ASM+OMF)
linux·运维·数据库·oracle·表空间·asm 存储管理·toad