SQL Having用法

拿个业务场景说这个案例,比如我们有个表里面可能有批改过的数据,批改过得数据不会随着新批改的数据覆盖,而是逐条插入表中,如果想找出包含最早批改的数据和最新批改数据的话,那么我们就需要用到了havinng 用法,假设最开始的批单号是000,批单号是累加的

比如我们有个表 table 表里面有两个字段 订单号(order_no) 和 批单号(endorseq_no)

那么写法就是

sql 复制代码
select order_no
from table
group by order_no
having sum(case when endorseq_no = '000' then 1 
                else 0 end) >= 1  --这个是判断必须包含最初的批单
  and count(*) >= 2    --这个是判断除了最初的批单之外还需要有新批改的批单
相关推荐
涛粒子39 分钟前
Redis 生产问题(重要)
数据库·redis·缓存
weixin_4094110240 分钟前
大模型语料库的构建过程 包括知识图谱构建 垂直知识图谱构建 输入到sql构建 输入到cypher构建 通过智能体管理数据生产组件
sql·知识图谱·easyui
勿栀枝44 分钟前
sql多表联查图文
数据库·sql
LaLaLa_OvO2 小时前
ORACLE SQL思路: 多行数据有相同字段就合并成一条数据 分页展示
数据库·sql·oracle
晴天Y282 小时前
源码编译安装MySQL
数据库·mysql
fmc1211042 小时前
【1】数据分析基础(一些概念)
服务器·数据库·oracle
时之彼岸Φ2 小时前
操作系统:文件系统
运维·数据库
With Order @!1472 小时前
如何在项目中使用人大金仓替换mysql
数据库·mysql
散修-小胖子3 小时前
MySQL常用运维操作(一):快速复制一张表
数据库·mysql
CT随3 小时前
MySQL查询缓存详解
数据库·mysql·缓存