关于SQLServer2005
的学习笔记——统计学自动分组问题
学过统计学或者做过
BI
的应该知道,很多报表
需要以区间统计的方式来实现,怎么分组比较合理,什么的组距比较合适,会困扰很多人;本文给出一个自动分组的方法,稍微修改一下,便可以做成通用区间分组程序。
关于统计学组距分组参考以下链接:
http://wiki.mbalib.com/wiki/%E7%BB%84%E8%B7%9D%E5%88%86%E7%BB%84
第一步:
确定组数。一组数据分多少组合适呢?一般与数据本身的特点及数据的多少有关。由于分组的目的之一是为了观察数据分布的特征,因此组数的多少应适中。如组数太少,数据
的分布就会过于集中,组数太多,数据的分布就会过于分散,这都不便于观察数据分布的特征和规律。组数的确定应以能够显示数据的分布特征和规律为目的。在实
际分组时,可以按
Sturges
提出的经验公式来确定组数
K
第二步:
确定各组的组距
组距
=(Max(Value)-Min(Value))/K
第三步:
根据分组整理成频数分布表
--
创建一个测试
表,仅有一个包含年龄的字段的表
CREATE TABLE AutoGroup
(
Age INT
);
INSERT INTO AutoGroup VALUES(12);
INSERT INTO AutoGroup VALUES(10);
INSERT INTO AutoGroup VALUES(20);
INSERT INTO AutoGroup VALUES(25);
INSERT INTO AutoGroup VALUES(27);
INSERT INTO AutoGroup VALUES(30);
INSERT INTO AutoGroup VALUES(50);
INSERT INTO AutoGroup VALUES(60);
INSERT INTO AutoGroup VALUES(45);
INSERT INTO AutoGroup VALUES(46);
INSERT INTO AutoGroup VALUES(35);
INSERT INTO AutoGroup VALUES(30);
INSERT INTO AutoGroup VALUES(47);
INSERT INTO AutoGroup VALUES(20);
INSERT INTO AutoGroup VALUES(61);
--SELECT age FROM AutoGroup
|
--
第一步,获取最大值、最小值、以及记录数量
WITH MaxAndMin AS
(
SELECT MAX(age) MaxNum,MIN(age)
MinNum,COUNT(*) CountNum FROM AutoGroup
),
--
第二步,确定组数和组距。
GroupStep AS
(
SELECT
MaxNum,MinNum,CountNum,
CEILING (1+LOG(CountNum)/LOG(2)) GroupNum,
CEILING(CEILING(MaxNum-MinNum)/CEILING(1+LOG(CountNum)/LOG(2)))
GroupStep
FROM MaxAndMin
),
--
第三步,递归生成相应的频数分布表
GroupStandard(MinGroup,MaxGroup,Identiy)
AS
(
SELECT
e.MinNum MinGroup,e.MinNum+e.GroupStep MaxGroup,1 AS Identiy
FROM
GroupStep AS e
UNION ALL
SELECT
CAST(e.MinNum+e.GroupStep*identiy AS INT) MinGroup,
e.MinNum+e.GroupStep*(Identiy+1) MaxGroup,
Identiy+1 c
FROM
GroupStep AS e,GroupStandard d
WHERE d.Identiy<e.GroupNum
)
--
第四步,根据频数表和原表进行相关区间统计
SELECT
MinGroup,
MaxGroup,
count
(*)
FROM
AutoGroup a,
GroupStandard b
WHERE
a.
age>=
b.
MinGroupAND
a.
age<
b.
MaxGroup
GROUP
BY
MinGroup,
MaxGroup
|
分享到:
相关推荐
本压缩包包含了针对32位和64位系统的两个补丁:SQLServer2005_BC.msi 和 SQLServer2005_BC_x64.msi,主要目的是为了提升SQL Server 2005 Business Intelligence (BI)组件的兼容性和性能。 SQL Server 2005 Business...
SQL server 2008
笔记是本人学习SQLServer一段时间后重新整理出来的,适合有一些入门基础的人学习。 ├─01 安装及使用 │ SQLServer2005安装及使用.txt │ ├─02 常用函数 │ function.sql │ ├─03 建表、建库 │ create.sql ...
SQL SERVER 2008 学习笔记:日常维护、深入管理、性能优化。
资源名称:SQL Server 2012王者归来——基础、安全、开发及性能优化内容简介:本书由浅入深,全面细致地讲述了SQL Server 2012的功能特性和开发应用。从SQL Server数据库基础到数据库安全,再到SQL Server开发及...
这两个文件名——"sqlserver2005sp4-kb2463332-x64-chs_0473159bb4dec7f4e17f3fc152de5e8945d3e3cc.exe"和"sqlserver2005sp4-kb2463332-x86-chs_48ab3b127c355ef499b7ef8630b130868298d891.exe",分别对应了这两个...
《数据挖掘原理与应用——SQL Server 2005 数据库》是一本深入探讨数据挖掘技术的书籍,其中包含了丰富的算法实例,旨在帮助读者理解并掌握如何在SQL Server 2005环境下进行数据挖掘实践。数据挖掘是利用统计学、...
SQLserver 数据库学习笔记 欢迎大家下载学习,共同进步啊
《SQL Server 2005数据库实践教程——开发与设计篇》是一份全面介绍SQL Server 2005数据库系统使用的电子教案。这份教程共分为7个章节,旨在帮助学习者掌握SQL Server 2005的核心概念、功能以及实际应用技巧。下面,...
Sql Server——Sql性能优化Sql Server——Sql性能优化Sql Server——Sql性能优化Sql Server——Sql性能优化Sql Server——Sql性能优化Sql Server——Sql性能优化Sql Server——Sql性能优化Sql Server——Sql性能优化
Sql Server 2005 打开 Sql Server 2008 mdf 文件数据库转换是指将 Sql Server 2008 中的数据库文件(mdf 文件)转换为 Sql Server 2005 可以识别的格式,以便在 Sql Server 2005 中使用。这种转换过程需要使用 Sql ...
Microsoft SQL Server 2005 Backward Compatibility Components (Microsoft SQL Server 2005 向后兼容组件) SQL Server Backward Compatibility 包中包含 最新版本的 Data Transformation Services 2000 运行时 ...
"SQLServer2005_SSMSEE.msi" 文件就是SQL Server 2005的System Management Studio Express(SSMSEE)的安装程序,这是一个简化版的SQL Server Management Studio,专为开发者和小型团队设计,提供基础的数据库管理和...
Microsoft SQL Server 2005 Backward Compatibility Components (Microsoft SQL Server 2005 向后兼容组件) SQL Server Backward Compatibility 包中包含最新版本的 Data Transformation Services 2000 运行时 (DTS...
连接SQL SERVER 2005/2008失败——解决方案
《SQL2005学习笔记》是一份深入探讨SQL Server 2005核心概念、功能及优化策略的宝贵资料。SQL Server 2005是微软推出的一款强大的关系型数据库管理系统,它在数据存储、处理和分析方面具有广泛的应用。这份笔记旨在...
总的来说,《数据库技术及应用——SQL Server 2005》电子教案将带领学习者全面探索SQL Server 2005的世界,从基础操作到高级技术,从理论知识到实践技能,旨在培养出能够熟练运用SQL Server 2005解决实际问题的专业...
SQL Server 2005 Express Edition 是微软推出的一款轻量级数据库管理系统,特别适用于小型企业和个人开发者。在64位(X64)系统上安装SQL Server 2005 Express,可以充分利用更大的内存和处理器资源,从而提高数据...
郝斌老师SqlServer 2005上课学习笔记大纲
"学习笔记——sql.zip"这个压缩包文件很可能包含了关于SQL的学习资料,如教程、笔记、示例代码等,旨在帮助用户掌握SQL的基本概念、语法和高级特性。 首先,SQL的基础知识包括数据类型,如整型(INT)、浮点型...