数据拆分,重复的组合只保留一个,如何执行代码完成
if object_id('tempdb.dbo.#temp') is not null drop table #temp
go
create table #temp([前区胆码]nvarchar(20),[前区拖码] nvarchar(100),[后区胆码] nvarchar(50),[后区拖码] nvarchar(100))
insert #temp
select '10' ,'01 02 03 04 05 06 07 08 09 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35','','01 02 03 04 05 06 07 08 09 10 11
12'union all
select '10 28' ,'01 02 03 04 05 06 07 08 09 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35','03','05 07 09 10 12'union all
select '03 10 28' ,'01 02 04 05 06 07 08 09 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35','12','01 02 03 05 07 09 11'union all
select '06 07 10 28' ,'01 02 03 04 05 08 09 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35','12','01 02 05 08 09'union all
select '' ,'01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35','','05 09'
--------------生成数据--------------------------为何执行代码后,无法生成数据
显示的是
消息 8152,级别 16,状态 4,第 1 行
将截断字符串或二进制数据。
语句已终止。需要解决的问题是
1、第一步生成数据
2、按照 前区胆码、前区拖码、后区胆码、后区拖码里的号码,进行胆拖的投注拆分[,现在用公式只能知道总数,但就不会执行什么代码可以有详细组合(重复的组合只保留一个)
例如,以第三行数据为例
'03 10 28' ,'01 02 04 05 06 07 08 09 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35','12','01 02 03 05 07 09 11'----第三行
(假如为a个前区胆码)03 10 28
(假如为b个前区拖码)01 02 04 05 06 07 08 09 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35
(假如为c个后区胆码)12
(假如为c个后区拖码)01 02 03 05 07 09 11
前区胆码个数为3(0≤a≤4),
前区拖码个数为32(5-a≤b≤35-a),
后区胆码个数为1(0≤c≤1),
后区拖码个数为6(2-c≤d≤12-c),
则此胆拖投注的注数个数为
胆拖的投注拆分说明,总的投注数为COMBIN(b,5-a)*COMBIN(d,2-c)。
前区combin(32,2)×后区combin(6,1)=2976个组合数。
前区combin(32,2)=496 * 后区combin(6,1)=6,那么就有496*6=2976注投注号码,请问如何用执行代码后的结果可以看到详细的组合(重复的组合只保留一个)
胆拖投注注数计算公式:
设前区胆码个数为a(0≤a≤4),前区拖码个数为m(5-a≤b≤35-a),后区胆码个数为c(0≤c≤1),后区拖码个数为d(2-c≤d≤12-c),则此胆拖投注的注数个数为:
combin(b,5-a)×combin(d,2-c)。
例:前区胆码个数为3(0≤a≤4),前区拖码个数为32(5-a≤b≤35-a),后区胆码个数为1(0≤c≤1),后区拖码个数为6(2-c≤d≤12-c),则此胆拖投注的注数个数为:combin(32,2)×combin(6,1)=2976。
组合:是从n个不同的元素中,任取m(m≤n)个元素并成一组,叫做从n个不同元素中取出m个元素的一个组合。
组合数公式: combin(n,m)=n(n-1)…(n-m+1)/1*2…m=n!/m!(n-m)!
...全文
相关推荐
VBA拆分Excel文件[代码]
本文介绍了如何使用VBA将一个大的Excel表格拆分成多个文件。具体步骤包括打开VB编辑器、插入模块、复制代码到模块中并运行代码。提供的VBA代码示例展示了如何保留表头并根据指定列拆分数据,生成以表头命名的新工作簿。该方法通过字典对象实现数据分类,并自动保存为单独的Excel文件,最后关闭并提示拆分完成。整个过程通过禁用屏幕更新和警报提高效率,适合需要批量处理Excel数据的场景。
【Python】基于多列组合删除数据框中的重复值
用Python实现基于多列组合删除数据框中的重复值
Python将一个Excel拆分为多个Excel
主要为大家详细介绍了Python将一个Excel拆分为多个Excel,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
Python拆分大型CSV文件代码实例
主要介绍了Python拆分大型CSV文件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
VBA 按照某一列进行筛选拆分数据,拆分成多个表或多个Sheet,按某列检查重复生成新的Sheet,删除除本表外的所有表
VBA 按照某一列进行筛选拆分数据,拆分成多个表或多个Sheet,按某列检查重复生成新的Sheet,删除除本表外的所有表


疑难问题
