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    --这个是判断除了最初的批单之外还需要有新批改的批单
相关推荐
TDengine (老段)10 分钟前
TDengine 中的日志系统
java·大数据·数据库·物联网·时序数据库·tdengine·iotdb
kfepiza1 小时前
Debian编译安装mysql8.0.41源码包 笔记250401
数据库·笔记·mysql·debian·database
tjfsuxyy1 小时前
SqlServer整库迁移至Oracle
数据库·oracle·sqlserver
老王笔记1 小时前
MySQL统计信息
数据库·mysql
无名之逆2 小时前
[特殊字符] Hyperlane 框架:高性能、灵活、易用的 Rust 微服务解决方案
运维·服务器·开发语言·数据库·后端·微服务·rust
爱的叹息2 小时前
MongoDB 的详细解析,涵盖其核心概念、架构、功能、操作及应用场景
数据库·mongodb·架构
爱的叹息3 小时前
华为高斯(GaussDB)数据库中 Range、List、Hash三种分区方式 的完整SQL示例及增删改查操作,并附上总结对比表格
数据库·哈希算法·gaussdb
程序猿熊跃晖4 小时前
Excel 数据导入与 SQL 生成:基于 Hutool 和 Apache POI 的优雅实践
sql·apache·excel
kfepiza4 小时前
Debian用二进制包安装mysql8.0.41 笔记250401
数据库·笔记·mysql·debian·database