`
逆风的香1314
  • 浏览: 1429760 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

组合处理

阅读更多

原贴地址:
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

分享到:
评论

相关推荐

    多组数据组合处理

    **标题:多组数据组合处理** 在信息技术领域,数据处理是一项关键任务,特别是在科学实验、工程计算和数据分析中。"多组数据组合处理"是指通过特定的算法或工具,将多个独立的数据集合并分析,以获取更深入的洞察或...

    好氧厌氧组合处理养猪场养殖废水处理毕业论文.doc

    然而,对于养猪场废水的厌氧好氧组合处理,目前尚缺乏大规模工业化应用案例和详细设计资料。因此,开展相关实验研究,优化工艺参数,建立适用于养猪场废水的处理系统,是解决这一问题的关键。这包括选择合适的厌氧...

    电子政务-含锌重金属废水的电沉积和膜分离组合处理方法.zip

    本文将深入探讨一种结合电沉积和膜分离技术的组合处理方法,旨在提供一种高效、环保的解决方案,以应对日益严重的水污染问题。 首先,我们需要理解电沉积的基本原理。电沉积是一种利用电化学反应将溶液中的金属离子...

    a2S破络与混凝沉淀组合处理电镀废水的研究-论文.zip

    这篇论文《a2S破络与混凝沉淀组合处理电镀废水的研究》主要探讨了电镀废水中重金属离子的处理技术,特别关注了a2S破络法与混凝沉淀法的结合应用。电镀废水是工业污染的重要来源之一,其中含有大量的有毒重金属,如铜...

    2S破络与混凝沉淀组合处理电镀废水的研究-论文.zip

    这篇论文“2S破络与混凝沉淀组合处理电镀废水的研究”主要探讨了在电镀行业中,如何通过采用2S破络技术与混凝沉淀法相结合的方式,有效地处理电镀废水,减少环境污染,并实现资源的回收利用。以下是这篇论文中涉及的...

    完整详实的组合导航数据IE处理报告

    - **组合导航后处理**:在GNSS差分解算的基础上,与惯导数据融合进行紧组合处理,获取载体姿态信息(横滚角、俯仰角和航向角)。 ### 4. 参数设置 在进行数据处理时,Inertial Explorer提供了多种参数设置,如处理...

    渗滤液组合处理工艺的探讨与实践 (2011年)

    对2套较有代表性的渗滤液组合处理工艺进行探讨,结果表明:以矿化垃圾生物反 应器为主体的处理工艺流程短,投资低,渗滤液处理后完全可以达标排放,非常适合垃圾填埋场 新建渗滤液处理系统;而以传统生物处理后续膜技术的...

    改性脱硫灰与聚丙烯酰胺组合处理矿井水试验研究

    采用硫酸对火电厂脱硫灰进行了改性处理,分析了改性脱硫灰与PAM对矿井水浊度的去除能力。结果表明,单独投加80 mg/L改性脱硫灰对矿井水浊度的去除率即可达80%,以80 mg/L改性脱硫灰复配0.3 mg/L PAM可进一步提高浊度...

    基于组合处理方法的机动目标高质量3D InISAR成像

    基于组合处理方法的机动目标高质量3D InISAR成像是一个专注于提高逆合成孔径雷达(ISAR)成像领域目标识别概率的研究主题。这一研究方法针对机动目标的三维成像,旨在克服ISAR成像中信号处理难度较大和真实数据结果...

    基于hadoop用并行递归实现排列组合运算

    2. **定义Reducer类**:Reducer类的作用是接收来自Mapper的输出,并对这些输出进行进一步的组合处理,生成更长的排列组合序列。Reducer需要递归地调用自身来生成所有可能的组合。 3. **配置Job**:配置MapReduce...

    YUI-3-Stockpile:基于NodeJS构建的YUI 3组合处理程序,支持单个模块或模块组的版本控制

    基于NodeJS构建的YUI 3组合处理程序,支持单个模块和模块捆绑的版本控制。 与其他组合处理程序相比,显着的进步是您可以随时上传单个模块或捆绑软件的新版本,但这不会破坏现有的应用程序,因为旧版本仍然可用。 ...

    铁路工程地质遥感图像处理系统设计研究 (3).pdf

    波段组合方法与处理利用对多光谱数据展开统计分析,求解波段组合中的最佳指数,给出最合理的波段组合方法及其相应计算参数,完成波段组合处理操作。图像文件管理模块包含文件输入、输出及文件格式转换功能,对不同...

    可持续发展的农村生活污水生物生态组合治理技术.docx

    在这种背景下,东南大学研发了一种可持续发展的农村生活污水生物生态组合处理技术,包括厌氧-缺氧生物滤池-跌水充氧接触氧化装置-水生蔬菜滤床和浸润度可控型人工湿地组合工艺。这种工艺通过生物和生态方法的结合,...

    煤化工浓盐水“零排放”处理技术进展

    阐述煤化工浓盐水"零排放"技术存在的...结合我国典型的煤化工"零排放"项目中浓盐水的处理工艺以及博天环境研发的浓盐水"零排放"组合处理工艺,阐明组合工艺处理及废水综合回用将是煤化工浓盐水"零排放"技术的发展方向。

    铁路工程地质遥感图像处理系统设计研究 (2).docx

    波段组合方法与处理可以对多光谱数据展开统计分析,求解波段组合中的最佳指数,给出最合理的波段组合方法及其相应计算参数,完成波段组合处理操作。 图像融合功能可以对遥感图像实施多种融合处理,包含 PCA 变换...

    排列组合知识点归纳与典型例题(全).doc

    3. **分组问题**:分为均匀分组、非均匀分组和混合分组,分别用除法、组合处理或组合与除法结合处理。 4. **分配问题**:当指定人数分配到特定位置时,使用分步取的方法计算组合数。 掌握这些排列组合的基本原理和...

    印染废水处理的工艺选择.docx

    - **牛仔洗漂废水**:采用“厌氧+好氧+物理沉淀”的组合处理工艺。 - **印花废水**(尤其是含有大量PVA的糊料印花工艺废水):常规的工艺组合很难达标,需要针对性地设计处理方案。 综上所述,选择合适的废水处理...

Global site tag (gtag.js) - Google Analytics