求一个sql语句,查询某个值在数据集中的占比情况 sql语句查询重复数据

3830℃ AUBREY

求一个sql语句,查询某个值在数据集中的占比情况sql语句查询重复数据

SQL占比计算

SELECT C1/C C1B, C2/C C2B, C3/C C3B, C4/C C4B

FROM (

SELECT 

    SUM(CASE WHEN fFactMoney<300 THEN 1 ELSE 0 END) C1, 

    SUM(CASE WHEN fFactMoney>=300 AND fFactMoney<500 THEN 1 ELSE 0 END) C2, 

    SUM(CASE WHEN fFactMoney>=500 AND fFactMoney<800 THEN 1 ELSE 0 END) C3, 

    SUM(CASE WHEN fFactMoney>=800 THEN 1 ELSE 0 END) C4

    SUM(fFactMoney) C

FROM InOutM AS a left JOIN Member AS c ON a.cMemCode = c.cMemCode

WHERE (a.cInOutCCode = '103') AND (a.cIOtype = '出库') AND (a.dIOTime BETWEEN 

      '2016-6-1' AND '2016-6-2') AND (a.cDPTCodeSOURCE in ('592018')) 

) A        

-- 大致思路,剩下的自己调整。

求sql语句查出一行数据中每列的百分比

1、若针对每行求百分比:

select SA/TotelTime ,SB/TotelTime ,SC/TotelTime ,SD/TotelTime ,SE/TotelTime from 表名

2、若是对总计后的值求百分比:

select sum(SA)/sum(TotelTime) ,sum(SB)/sum(TotelTime) ,sum(SC)/sum(TotelTime) ,sum(SD)/sum(TotelTime) ,sum(SE)/sum(TotelTime) from 表名

3、当然,以上都是以小数形式显示结果,若要以百分比形式显示结果:乘以100,并保留两位小数,然后加上“%”即可。

如:round((SA/TotelTime)*100,2) & "%"

怎么写求占百分比的sql 语句,内祥

此sql语句包括了两个聚合函数做除法求百分比,并保留两位小数,直接输出字符串形式的百分比。以及对case when在聚合函数的应用。

sql语句如何统计一行数据的总数

这样行不行?

select PROD_CD, PROD_NM, LOT_NO, QTY from TB_FDB302

union all

select '合计', ' ', ' ', sum(QTY) from TB_FDB302