SQL实现分组排序:累加某一字段或数据出现的次数

本文介绍如何使用SQL进行分组排序,重点在于根据DEPTNAME分组并统计各部门反馈次数(reply)及反馈率(percentage)。通过CASE语句判断FEEDBACKSTATE,累加'Y'的状态数,再除以部门总数得到反馈率。适用于数据库查询和数据分析。
摘要由CSDN通过智能技术生成

根据要求,使数据根据某一类型进行分组,并根据分组数排序


查询部门名称、统计数值和FEEDBACKSTATE ==‘Y’的总值以及总值和统计直的100倍的商,并根据部门名称对数据进行分组,并根据分组的统计值进行排序

SELECT
DEPTNAME,
COUNT( DEPTNAME ) AS count,
sum( CASE WHEN FEEDBACKSTATE = ‘Y’ THEN 1 ELSE 0 END ) AS reply,
sum( CASE WHEN FEEDBACKSTATE = ‘Y’ THEN 1 ELSE 0 END ) / COUNT( DEPTNAME )*100 AS percentage
FROM
VS_FEEDBACK

因为要根据部门名称分组,所以要在后面加上GROUP BY DEPTNAME,
并且根据统计值排序: ORDER BY count DESC;
这样根据DEPTNAME进行分组,并根据分组的统计值进行排序,如果FEEDBACKSTATE = 'Y’则为1,否则就是0,sum对每次的1或0进行累加的完整SQL语句就是:
SELECT
DEPTNAME,
COUNT( DEPTNAME ) AS count,
sum( CASE WHEN FEEDBACKSTATE = ‘Y’ THEN 1 ELSE 0 END ) AS reply,
sum( CASE WHEN FEEDBACKSTATE = ‘Y’ THEN 1 ELSE 0 END ) / COUNT( DEPTNAME )*100 AS percentage
FROM
VS_FEEDBACK where DEPTNAME IS NOT NULL and areacode= ‘621100000000

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值