首页 > 数据库技术 > 详细

sql 语句系列(计算的进阶)[八百章之第十六章]

时间:2020-04-05 02:09:14      阅读:82      评论:0      收藏:0      [点我收藏+]

前言

介绍两个实用的sql查询语句。
1.计算平均数时候,去除最大值和最小值。
2.修改累计值。

计算平均数时候,去除最大值和最小值

sql server:

select AVG(sal) from(
select sal,MIN(SAL) over() min_sal,MAX(SAL) max_sal 
from EMP) x
where sal not in(
min_sal,max_sal
)

mysql:

select AVG(sal) 
from EMP
where SAL not in(
(select MIN(sal) from EMP),
(select MAX(sal) from EMP)
)

修改累计值

假设有一张表:
select * from xinyong
技术分享图片

要实现的效果如下:
技术分享图片

就是当TRX 为pr的时候进行增,在py的时候进行减法。

答案:

select case when  v.TRX=‘py‘ then ‘PAYMENT‘ else ‘PURCHASE‘ end as trx_type,v.AMT,
(select sum(case when x.TRX=‘py‘ then -x.AMT else x.AMT end)
from xinyong x
where v.ID>=x.ID
) as balance
from xinyong v

sql 语句系列(计算的进阶)[八百章之第十六章]

原文:https://www.cnblogs.com/aoximin/p/12617111.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!