原贴地址:
http://community.csdn.net/Expert/topic/3338/3338785.xml?temp=.9853022
有表t1:
ID | Place Time Level
---|-------------------
1 | P1 T3 L1
2 | P1 T1 L1
3 | P3 T1 L2
4 | P2 T2 L3
5 | P1 T1 L1
6 | P2 T3 L3
想实现的是:
生成字段间的所有项的组合,并统计表t1中包含该组合的纪录的条数(只统计有数据的组合)
1项组合
item count
P1 3
P2 2
.....
2项组合
item count
P1_T1 2
P1_T3 1
....
3项组合
item count
P1_T1_L1 2
P1_T1_L2 1
....
-----------------------------------------------------------------------
--示例
--示例数据
create table t1(ID int,Place varchar(10),Time varchar(10),Level varchar(10),aa varchar(10))
insert t1 select 1,'P1','T3','L1','aa'
union all select 2,'P1','T1','L1','bb'
union all select 3,'P3','T1','L2','aa'
union all select 4,'P2','T2','L3','aa'
union all select 5,'P1','T1','L1','aa'
union all select 6,'P2','T3','L3','bb'
go
--通用的处理存储过程
create proc p_qry
@count int=1 --组合的项数
as
declare @sa Nvarchar(4000),@sb Nvarchar(4000)
declare @s2 Nvarchar(4000),@s3 Nvarchar(4000)
declare @s varchar(8000)
if isnull(@count,0)<0 set @count=1
select a=name,b=colid
into #t from syscolumns
where id=object_id(N't1') and name<>'ID'
set @count=case when @count>@@rowcount then @@rowcount else @count end
if @count=1
set @sa='select @s=@s+'' union all select item=[''+a+''],[count]=count(*) from t1 group by [''+a+'']'' from #t'
else
begin
select @sa='select @s=@s+'' union all select item=[''+a.a+'']'''
,@sb='''[''+a.a+'']'''
,@s2='from #t a'
,@s3='where a.b'
while @count>1
select @count=@count-1
,@sa=@sa+'+''+''''_''''+[''+'+char(@count/26+97)+char(@count%26+97)+'.a+'']'''
,@sb=@sb+'+'',[''+'+char(@count/26+97)+char(@count%26+97)+'.a+'']'''
,@s2=@s2+',#t '+char(@count/26+97)+char(@count%26+97)
,@s3=@s3+'<'++char(@count/26+97)+char(@count%26+97)+'.b'
+' and '++char(@count/26+97)+char(@count%26+97)+'.b'
select @sa=@sa+'+'',[count]=count(*) from t1 group by ''+'+@sb+' '+@s2+' '+left(@s3,len(@s3)-9)
end
set @s=''
exec sp_executesql @sa,N'@s varchar(8000) out',@s out
set @s=stuff(@s,1,11,'')
exec(@s)
go
--调用
exec p_qry 3
go
--删除测试
drop table t1
drop proc p_qry
分享到:
相关推荐
**标题:多组数据组合处理** 在信息技术领域,数据处理是一项关键任务,特别是在科学实验、工程计算和数据分析中。"多组数据组合处理"是指通过特定的算法或工具,将多个独立的数据集合并分析,以获取更深入的洞察或...
然而,对于养猪场废水的厌氧好氧组合处理,目前尚缺乏大规模工业化应用案例和详细设计资料。因此,开展相关实验研究,优化工艺参数,建立适用于养猪场废水的处理系统,是解决这一问题的关键。这包括选择合适的厌氧...
本文将深入探讨一种结合电沉积和膜分离技术的组合处理方法,旨在提供一种高效、环保的解决方案,以应对日益严重的水污染问题。 首先,我们需要理解电沉积的基本原理。电沉积是一种利用电化学反应将溶液中的金属离子...
这篇论文《a2S破络与混凝沉淀组合处理电镀废水的研究》主要探讨了电镀废水中重金属离子的处理技术,特别关注了a2S破络法与混凝沉淀法的结合应用。电镀废水是工业污染的重要来源之一,其中含有大量的有毒重金属,如铜...
这篇论文“2S破络与混凝沉淀组合处理电镀废水的研究”主要探讨了在电镀行业中,如何通过采用2S破络技术与混凝沉淀法相结合的方式,有效地处理电镀废水,减少环境污染,并实现资源的回收利用。以下是这篇论文中涉及的...
- **组合导航后处理**:在GNSS差分解算的基础上,与惯导数据融合进行紧组合处理,获取载体姿态信息(横滚角、俯仰角和航向角)。 ### 4. 参数设置 在进行数据处理时,Inertial Explorer提供了多种参数设置,如处理...
对2套较有代表性的渗滤液组合处理工艺进行探讨,结果表明:以矿化垃圾生物反 应器为主体的处理工艺流程短,投资低,渗滤液处理后完全可以达标排放,非常适合垃圾填埋场 新建渗滤液处理系统;而以传统生物处理后续膜技术的...
采用硫酸对火电厂脱硫灰进行了改性处理,分析了改性脱硫灰与PAM对矿井水浊度的去除能力。结果表明,单独投加80 mg/L改性脱硫灰对矿井水浊度的去除率即可达80%,以80 mg/L改性脱硫灰复配0.3 mg/L PAM可进一步提高浊度...
基于组合处理方法的机动目标高质量3D InISAR成像是一个专注于提高逆合成孔径雷达(ISAR)成像领域目标识别概率的研究主题。这一研究方法针对机动目标的三维成像,旨在克服ISAR成像中信号处理难度较大和真实数据结果...
2. **定义Reducer类**:Reducer类的作用是接收来自Mapper的输出,并对这些输出进行进一步的组合处理,生成更长的排列组合序列。Reducer需要递归地调用自身来生成所有可能的组合。 3. **配置Job**:配置MapReduce...
基于NodeJS构建的YUI 3组合处理程序,支持单个模块和模块捆绑的版本控制。 与其他组合处理程序相比,显着的进步是您可以随时上传单个模块或捆绑软件的新版本,但这不会破坏现有的应用程序,因为旧版本仍然可用。 ...
波段组合方法与处理利用对多光谱数据展开统计分析,求解波段组合中的最佳指数,给出最合理的波段组合方法及其相应计算参数,完成波段组合处理操作。图像文件管理模块包含文件输入、输出及文件格式转换功能,对不同...
在这种背景下,东南大学研发了一种可持续发展的农村生活污水生物生态组合处理技术,包括厌氧-缺氧生物滤池-跌水充氧接触氧化装置-水生蔬菜滤床和浸润度可控型人工湿地组合工艺。这种工艺通过生物和生态方法的结合,...
阐述煤化工浓盐水"零排放"技术存在的...结合我国典型的煤化工"零排放"项目中浓盐水的处理工艺以及博天环境研发的浓盐水"零排放"组合处理工艺,阐明组合工艺处理及废水综合回用将是煤化工浓盐水"零排放"技术的发展方向。
波段组合方法与处理可以对多光谱数据展开统计分析,求解波段组合中的最佳指数,给出最合理的波段组合方法及其相应计算参数,完成波段组合处理操作。 图像融合功能可以对遥感图像实施多种融合处理,包含 PCA 变换...
3. **分组问题**:分为均匀分组、非均匀分组和混合分组,分别用除法、组合处理或组合与除法结合处理。 4. **分配问题**:当指定人数分配到特定位置时,使用分步取的方法计算组合数。 掌握这些排列组合的基本原理和...
- **牛仔洗漂废水**:采用“厌氧+好氧+物理沉淀”的组合处理工艺。 - **印花废水**(尤其是含有大量PVA的糊料印花工艺废水):常规的工艺组合很难达标,需要针对性地设计处理方案。 综上所述,选择合适的废水处理...