You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL如何对指定行相减生成自定义列计算各级别独有用户数

用户等级用户数统计需求

我需要统计每个用户等级的总用户数,对比完成对应等级的总用户数,生成Unique Users列:该列取值为当前等级Users数减去下一级Users数,最高等级Appr无需减法,Unique Users值直接等于该等级的Users数,参考示例如下:

CPNT_IDUsersUnique Users
Trainee4466211563 (计算公式:44662-33099)
SvcTech3309912420 (计算公式:33099-20679)
CrewChief206795079 (计算公式:20679-15600)
SvcCoord156006010 (计算公式:15600-9590)
Appr95909590 (为最高等级,无需减法)

现有统计各等级总用户数的SQL代码

select 
cpnt.cpnt_id 
,count ( distinct pc.stud_id ) users
from 
pa_stud_program sp,
        pa_program p,
        pa_student s,
        pa_stud_cpnt pc,
        ps_program_type pt,
        pa_cpnt cpnt
WHERE p.PROGRAM_SYS_GUID = sp.PROGRAM_SYS_GUID
    and pc.compl_dte is not null
    and cpnt.cpnt_id in ('Trainee','SvcTech','CrewChief','SvcCoord','Appr')
    and s.jp_id in ('1801','1805','1810','1811')
    and s.EMP_STAT_ID = 'Active'
    AND cpnt.CPNT_TYP_ID     = p.CPNT_TYP_ID
    AND cpnt.CPNT_ID         = p.CPNT_ID
    AND cpnt.REV_DTE         = p.REV_DTE
    AND pc.STUD_ID           = sp.STUD_ID
    AND sp.stud_id           = s.STUD_ID
    AND pc.CPNT_ID           = sp.CPNT_ID
    AND pc.CPNT_TYP_ID       = sp.CPNT_TYP_ID
    AND pc.REV_DTE           = sp.REV_DTE
    AND pc.seq_num           = sp.seq_num
    AND pt.PROGRAM_TYPE_ID   = p.PROGRAM_TYPE   
    /** and s.PERSON_ID_EXTERNAL  in [UserSearch]*/ 
group by cpnt.cpnt_id
order by users desc

内容的提问来源于stack exchange,提问作者Mr Grimm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 20:54:04