使用聚合函数(partition by )的一个实例
来源:互联网 发布:南京淘宝网店培训班 编辑:程序博客网 时间:2024/06/10 06:52
SELECT id,bureauname,
CASE WHEN NUMBERS = 'C' THEN schnumber END as aa,
CASE WHEN NUMBERS = 'O' THEN schnumber END as bb,
stunumber
--count(schnumber)
FROM
(select ID,BUREAUNAME,SCHNAME as SCHNUMBER,STATE as NUMBERS,COUNTSTU as STUNUMBER
FROM
(SELECT ID,BUREAUNAME,SCHID,SCHNAME,STATE,STUCOUNT,COUNTSTU
FROM(SELECT P.PPFRAMEID AS SCHID,
S.NAME AS SCHNAME,
PPARAVALUE AS STATE,
COUNT(I.STUID)OVER(PARTITION BY NAME) AS STUCOUNT,
E.BUREAUNAME AS BUREAUNAME,
E.ID AS ID,
COUNT(I.STUID)OVER(PARTITION BY NAME) AS COUNTSTU
FROM T_PRIVATEPARA P,T_SCHOOL_CODE S,T_STUDENT_INFO I,T_EDUCATION_BUREAU E
WHERE P.PPFRAMEID =S.CODEID
AND S.ADMINISTRATIVEAREA =E.ADMINISTRATIVEAREA
AND P.PPFRAMEID =I.SCHID
AND STUSTATE = FSTUISREG(STUSTATE)
AND P.PPARAID IN ('ZS')
--AND P.PPARAVALUE IN ('O','C','B' )
GROUP BY P.PPFRAMEID,S.NAME,P.PPARAVALUE,I.STUID,E.BUREAUNAME,E.ID)
GROUP BY SCHID,SCHNAME,STATE,STUCOUNT,BUREAUNAME,ID,COUNTSTU)
WHERE STATE IN ('C','O')
GROUP BY ID ,BUREAUNAME,STATE,schname,countstu
UNION
select ID AS SS,BUREAUNAME AS RR,SCHNAME as SCHNUMBER1,STATE as NUMBERS,COUNTSTU as STUNUMBER
FROM
(SELECT ID,BUREAUNAME,SCHID,SCHNAME,STATE,STUCOUNT,COUNTSTU
FROM(SELECT P.PPFRAMEID AS SCHID,
S.NAME AS SCHNAME,
PPARAVALUE AS STATE,
COUNT(I.STUID)OVER(PARTITION BY NAME) AS STUCOUNT,
E.BUREAUNAME AS BUREAUNAME,
E.ID AS ID,
COUNT(I.STUID)OVER(PARTITION BY NAME) AS COUNTSTU
FROM T_PRIVATEPARA P,T_SCHOOL_CODE S,T_STUDENT_INFO I,T_EDUCATION_BUREAU E
WHERE P.PPFRAMEID =S.CODEID
AND S.ADMINISTRATIVEAREA =E.ADMINISTRATIVEAREA
AND P.PPFRAMEID =I.SCHID
AND STUSTATE = FSTUISREG(STUSTATE)
AND P.PPARAID IN ('ZS')
--AND P.PPARAVALUE IN ('O','C','B' )
GROUP BY P.PPFRAMEID,S.NAME,P.PPARAVALUE,I.STUID,E.BUREAUNAME,E.ID)
GROUP BY SCHID,SCHNAME,STATE,STUCOUNT,BUREAUNAME,ID,COUNTSTU)
WHERE STATE IN ('O')
GROUP BY ID ,BUREAUNAME,STATE,schname,countstu)
GROUP BY NUMBERS,schnumber,id,bureauname,stunumber
- 使用聚合函数(partition by )的一个实例
- 一个有用的Oracle函数partition by
- SQLServer中Partition By 函数的使用
- group by ,having, 聚合函数的使用
- Oracle-24-聚合函数&group by的使用
- SQL编程实例:Access数据库,两张表的统计,count、sum聚合函数的使用,iif的使用,group by的使用
- oracle的分析函数over(Partition by...)
- oracle的分析函数 over(Partition by...)
- oracle的分析函数over(Partition by...)
- oracle的分析函数over(Partition by...)
- 聚合函数的使用
- 聚合函数(sum、count、max、min、avg)、where、group by、having的组合用法实例
- 分析函数partition by
- over partition by 函数
- over(Partition by…) 一个超级好用的特有(开窗)函数。
- OVER(PARTITION BY)的使用
- MS-SQLServer over partition by的使用
- 【Orcale】分析函数 OVER(PARTITION BY... ORDER BY...)的讲解
- 重置MSSQL的Identity标识列的值
- struts2 国际化与防止刷新重复提交表单
- 强大的.NET反编译工具Reflector及插件!
- 通用C++ typeid实现(不支持RTTI) v0.2
- 【转】HTTP协议头字段及分析
- 使用聚合函数(partition by )的一个实例
- C# 调用Windows Mobile自带的控制面板项
- 详解硬盘的典型故障
- 实时交通服务平台:一路通运营日记(二)
- 为什么我公司招JAVA系统分析师这么难?
- C#调用系统的复制、移动、删除文件对话框
- 关于C++ const 的全面总结
- awk实例
- 约瑟夫环数学解法