用not exists去除最大值最小值

该博客介绍了如何在SQL中利用NOT EXISTS子句来从数据集中排除最大值和最小值。首先,创建了两个临时表bas用于获取最小值和最大值记录。然后,在查询源数据表时,通过NOT EXISTS条件过滤掉存在于这些临时表中的 wp_number,从而达到去除最大值和最小值的效果。这种方法对于处理大数据集时避免使用TOP或LIMIT等可能导致性能下降的操作非常有用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用not exists去除最大值最小值

--源数据表
with a as(
select wp_source
	,wp_target
	,wp_number
	from
	TRANSFER_INFO)

--对源数据表进行取最大值最小值	
,b as(
	select wp_source
	,wp_target
	,wp_number 
	  from a fa
		where (not exists(select wp_source	--取最小值
							,wp_target
							,wp_number
						from a son
						where son.wp_number<fa.wp_number
						))
		or (not exists(select wp_source	--取最大值
							,wp_target
							,wp_number
						from a son
						where son.wp_number>fa.wp_number
						))
)

--查询源数据表  筛选条件为 源数据表里没有b临时表数据
--即使用not exists 去除最大值最小值
select * 
	from a cici 
	where (not exists(select wp_number 
					from b dada 
					where cici.wp_number=dada.wp_number))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值