分组后分组合计以及总计SQL语句(稍微整理了一下)

2020-07-04 06:01:33易采站长站整理

今天看到了这个文章感觉内容挺多的,就是比较乱,实在不好整理,软件开发网小编就简单整理了一下,希望大家能凑合看吧

分组后分组合计以及总计SQL语句
 
1)想一次性得到分组合计以及总计,sql:

SELECT 分组字段 FROM 表
GROUP BY 分组字段

compute sum(COUNT(*))

2)分组合计1:


SELECT COUNT(*)
FROM (SELECT 分组字段 FROM 表
GROUP BY 分组字段
)别名

 
3)分组合计2:


SELECT COUNT(*)
FROM (SELECT distinct 分组字段 FROM 表)别名

4)统计分组后的种类数:
 
例子1:分组合计


SELECT JSSKQK_JGH FROM SJ_JSSKQK WHERE JSSKQK_JGH IN (SELECT JSJBXX_JGH FROM SJ_JSJBXX WHERE JSJBXX_JSLXM1=1) GROUP BY JSSKQK_JGH HAVING ((SUM(JSSKQK_SSKCXS1) /40)>5)

上面的语句已经可以满足要求分组了.假设执行后有3条记录,怎么才能把这个COUNT值求出?


select count(*) from
(
SELECT JSSKQK_JGH
FROM SJ_JSSKQK
WHERE JSSKQK_JGH IN (SELECT JSJBXX_JGH FROM SJ_JSJBXX WHERE JSJBXX_JSLXM1=1)
GROUP BY JSSKQK_JGH HAVING ((SUM(JSSKQK_SSKCXS1) /40)>5)
) t

例子2:[PL/SQL] 如何得到分组后,组中最大日期的纪录

TABLE:A
A        B                C        D
1        2001/01/01                        1        1
1        2001/12/12                        2        2
3        2002/01/01                        3        3
3        2003/12/12                        4        4

按列A分组,请问如何得到每组中时间最大的数据?

1        2001/12/12                        2        2

相关文章 大家在看