SQL统计——按照各种维度
在SQLserver中可以按照各种维度进行统计,实现与EXCLE一样强大的功能。
--==========================
--Blog:<奔跑的金鱼>
--Desc:<SQL统计>
--Date:<2015-01-07>
--==========================
/*描述:不同员工在不同时间参加不同项目组中,获得的收入*/
IF EXISTS(SELECT * FROM sysobjects where ID=OBJECT_ID(N'tb_Income') and XTYPE='U')
DROP TABLE tb_Income CREATE TABLE [tb_Income]
(
[TeamID] int not null,
[PName] Nvarchar(20) NOT NULL,
[CYear] Smallint NOT NULL,
[CMonth] TinyInt NOT NULL,
[CMoney] Decimal (10,2) Not Null
) ---------------------插入测试数据
INSERT [dbo].[tb_Income]
SELECT 1,'荆天明',2011,2,5600
union ALL SELECT 1,'荆天明',2011,1,5678
union ALL SELECT 1,'荆天明',2011,3,6798
union ALL SELECT 2,'荆天明',2011,4,7800
union ALL SELECT 2,'荆天明',2011,5,8899
union ALL SELECT 3,'荆天明',2012,8,8877 union ALL SELECT 1,'高月',2011,1,3455
union ALL SELECT 1,'高月',2011,2,4567
union ALL SELECT 2,'高月',2011,3,5676
union ALL SELECT 3,'高月',2011,4,5600
union ALL SELECT 2,'高月',2011,5,6788
union ALL SELECT 2,'高月',2012,6,5679
union ALL SELECT 2,'高月',2012,7,6785 union ALL SELECT 2,'端木蓉',2011,2,5600
union ALL SELECT 2,'端木蓉',2011,3,2345
union ALL SELECT 2,'端木蓉',2011,5,12000
union ALL SELECT 3,'端木蓉',2011,4,23456
union ALL SELECT 3,'端木蓉',2011,6,4567
union ALL SELECT 1,'端木蓉',2012,7,6789
union ALL SELECT 1,'端木蓉',2012,8,9998 union ALL SELECT 3,'高渐离',2011,7,6798
union ALL SELECT 3,'高渐离',2011,10,10000
union ALL SELECT 3,'高渐离',2011,9,12021
union ALL SELECT 2,'高渐离',2012,11,8799
union ALL SELECT 1,'高渐离',2012,12,10002 union ALL SELECT 3,'少司命',2011,8,7896
union ALL SELECT 3,'少司命',2011,9,7890
union ALL SELECT 2,'少司命',2011,10,7799
union ALL SELECT 2,'少司命',2011,11,9988
union ALL SELECT 2,'少司命',2012,9,34567
union ALL SELECT 3,'少司命',2012,12,5609 --------------------------------查询表中数据 select * from tb_Income
/*CUBE运算符生成的结果集是多维数据集,多维数据集是事实数据的扩展,事实数据即记录个别时间的数据,扩展建立在用户准备分析的列上,这些列被称为维,多维数据集是一个结果集,其中包含各纬度所有可能的交叉表格*/ ------------------------------使用单个维度进行统计
SELECT PName as 员工姓名,
SUM(CMoney) 总收入
FROM tb_Income
GROUP BY CUBE (PName)

------------------------------使用多个维度进行统计
SELECT TeamID As 项目组编号,PName as 员工姓名,
SUM(CMoney) 总收入
FROM tb_Income
GROUP BY CUBE (PName,TeamID)

上面是按照CUBE进行统计的,接下来是使用ROLLUP进行统计
-------------------------------使用ROLLUP进行统计
SELECT TeamID As 项目组编号,PName as 员工姓名,
SUM(CMoney) 总收入
FROM tb_Income
GROUP BY ROLLUP (PName,TeamID)

- CUBE 生成的结果集显示了所选列中值的所有组合的聚合。
- ROLLUP 生成的结果集显示了所选列中值的某一层次结构的聚合。
SQL统计——按照各种维度的更多相关文章
- MS SQL统计信息浅析下篇
MS SQL统计信息浅析上篇对SQL SERVER 数据库统计信息做了一个整体的介绍,随着我对数据库统计信息的不断认识.理解,于是有了MS SQL统计信息浅析下篇. 下面是我对SQL Serve ...
- sql统计字符串出现次数技巧
在牛客网上看到一道题,感觉挺有趣,是用sql统计字符串出现的次数. 这里提供一种思路,比如统计字符串A中子串B的出现次数: SELECT (LENGTH(A) - LENGTH(REPLACE(A, ...
- sql 统计常用的sql
统计常用的sql 统计常用的sql语句: 今天的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=0 昨天的所有数据:s ...
- MS SQL 统计信息浅析上篇
统计信息概念 统计信息是一些对象,这些对象包含在表或索引视图中一列或多列中的数据分布有关的统计信息.数据库查询优化器使用这些统计信息来估计查询结果中的基数或行数. 通过这些基数估计,查询优化器可以生成 ...
- mysql 按年度、季度、月度、周、日SQL统计查询
创建Table CREATE TABLE `test` ( `cdate` datetime DEFAULT NULL, `id` ) DEFAULT NULL, `name` ) DEFAULT N ...
- sql统计重复数据
sql代码如下: 统计重复的数据 select MingCheng from tabShouFeiGongShi group by MingCheng having count(MingCheng) ...
- ***SQL统计语句总结(运用场景:运营分析,财务分析等)
-- 统计三月的每天的数据量 ,) ,) ; --统计从5月19到6月29的数据量 , ) AS '日期', count(*) AS '医说数' FROM xm_feed a WHERE a.feed ...
- sql 统计用的sql
mh:工时 mhtype:工时类型(6种) 字段:userid mhtype mh 001 1 5 001 ...
- SQL 统计某一天的数据量时, 使用 dateValue(字段) 与 between 性能差异很明显。
感觉好久没有写sql语句了... 今天需要写一个统计某一天的数据时,考虑到字段的内容格式是: 2018-12-18 09:36:23 我开始写的是: select count(id) as reCo ...
随机推荐
- 重构17-Extract Superclass(提取父类)
当一个类有很多方法希望将它们“提拔”到基类以供同层次的其他类使用时,会经常使用该重构.下面的类包含两个方法,我们希望提取这两个方法并允许其他类使用. public class Dog { public ...
- pyenv的安装和使用
1. 先安装crul和git sudo apt-get install curl git-core 2. 安装pyenv curl https://raw.github.com/yyuu/pyenv- ...
- Oracle数据库作业-5 查询
14.查询所有学生的Sname.Cno和Degree列. select t.sname,c.cno,c.degree from student t inner join score c on t.sn ...
- git之添加ssh
1.ssh-keygen 2.cat ~/.ssh/id_rsa.pub 3.git config user.email "huangsy13@gmail.com" 4.git c ...
- C#用反射判断一个类型是否是Nullable同时获取它的根类型(转自网络)
在我们的应用程序中我们使用类描述我们的业务对象,为我们产生一些报表之类的,那就依赖大量不同的对象,我们创建一个帮助方法来转换我们的业务对象,或是一个List的业务对象到DataTables. 由于数据 ...
- Houdini FX 14 重磅推出!(附下载方式)
把之前发布在新浪的博客搬过来了,新浪广告太多,影响阅读和观感,博客园很清净~ SideFX于2015年1月在官网发布Houdini FX 14,喜爱尝鲜.充满好奇心的我迫不及待的装上Apprentic ...
- 关于SVN下载代码和Android Studio里面导入别人代码build tools不一致问题总结
项目build tools的sdk我没有 网络问题没法下载. 解决问题 方法 1.下载对应的SDK.需要VPN,或者FQ 2.将bulid.gradle的内容用下面的内容替换 // Top-level ...
- Android之开源项目优秀项目篇
本文转自:http://www.trinea.cn/android/android-open-source-projects-excellent-project/ 记录的项目主要依据是项目有意思或项目 ...
- SQL server自定义函数实例
create function dbo.t_bh (@str varchar(20)) returns varchar(20) as begin declare @bh varchar(20),@le ...
- leetcode题1Two sum 练习
题目为: 给一个整数数组, 返回数组中的两数之和等于指定值的两数在数组中的下标. Example: Given nums = [2, 7, 11, 15], target = 9, Because n ...
