SQL中怎么先对一个字段进行分组,在分组的情况下选择条件。

有两个字段A,B。先对A进行分组,在对A进行分组的条件下,将B字段都不为空的数据筛选出来。这个的语句怎么写,求大佬指点迷津一下。

5个回答

不太明白你的意思,你想要的是不是
SELECT A AS A,B AS B WHERE B IS NOT NULL GROUP BY A

weixin_43688369
weixin_43688369 是这样的 A字段:aa,aa,ad,ad 相对应的B字段:11,12,13,null 结果是把 A:aa,aa B:11,12 筛出来,B字段为空的那组数据不筛出来。不晓得你明白不
10 个月之前 回复

group by A having B is not null

u012976158
强化脑细胞 回复weixin_43688369: 给你个例子,照个改改就可以select decode(sum(decode(ncd.resultdescribe,null,1,'',1,0)),0,'是','否') from NcsTranmitBraDetail ncd ,ncsticketmain na where ncd.formid = na.id and ncd.formid = nc.id group by ncd.formno
10 个月之前 回复
weixin_43688369
weixin_43688369 select t.a from a_ppb_d t group by t.a having t.b is not null 提示不是group by 的表达方式
10 个月之前 回复

select t.a from a_ppb_d t group by t.a having t.b is not null 提示不是group by 的表达方式

在只对A进行分组的情况下,无法对B进行筛选,因为查询出来的数据是不包括B的。

可以先把B为空的记录过滤掉然后再进行分组:

select * from (select * from table t where t.B is not null) tt group by tt.A;

select * from [table] wp where not exists(select 0 from [table] where [a]=wp.[a] and [b] is null)

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
分组问题,要按条件进行分组
请教一个分组问题rnrnT1rnrnname date textrn1 2007-3-1 t1rn1 2007-3-2 t2rn1 2007-3-8 t3rn2 2007-3-1 t4rn2 2007-3-2 t5rn2 2007-3-9 t6rnrnrn要以name进行分组,但是date既不是取最大也不是取最小,而是和某一个日期比较,如 2007-3-7 ,要取date比2007-3-7小,且最接近的一条记录rnrn得到如下:rnname date textrn1 2007-3-2 t2rn2 2007-3-2 t4
怎么通过一个字段进行分组?
就是数值一样的我都在网页上领近显示。sql怎么写?
sql按条件分组
原数据rnif object_id(N'tempdb..#tb') is not null rndrop table #tbrncreate table #tb([id] int, sex int , [Name] varchar(13),depart int,subdepart int,[group] int)rninsert #tb select 52001,0,'aaa',1,2,0rnunion all select 52002,1,'bbb',1,2,0rnunion all select 52003,0,'ccc',1,4 ,0 rnunion all select 52004,1,'ddd',1,6 ,0rnunion all select 52005,0,'eee',2,1,0rnunion all select 52006,1,'fff',6,23,0rnunion all select 52007,0,'ggg',3,6 ,0rnunion all select 52008,1,'hhh',2,1,0rnunion all select 52009,0,'iii',3,6,0rnunion all select 52010,1,'jjj',3,6 ,0rnunion all select 52011,0,'kkk',1,34 ,0rnunion all select 52012,1,'lll',1,5,0rnunion all select 52013,0,'mmm',4,1,0rnunion all select 52014,1,'nnn',4,3 ,0rnunion all select 52015,0,'ooo',1,3,0rnselect * from #tbrnrn要求的结果rnrnrnif object_id(N'tempdb..#tc') is not null rndrop table #tcrncreate table #tc([id] int, sex int , [Name] varchar(13),depart int,subdepart int,[group] int)rninsert #tb select 52001,0,'aaa',1,2,1rnunion all select 52002,1,'bbb',1,2,1rnunion all select 52003,0,'ccc',1,4 ,2 rnunion all select 52004,1,'ddd',1,6 ,2rnunion all select 52005,0,'eee',2,1,6rnunion all select 52006,1,'fff',6,23,9rnunion all select 52007,0,'ggg',3,6 ,7rnunion all select 52008,1,'hhh',2,1,6rnunion all select 52009,0,'iii',3,6,5rnunion all select 52010,1,'jjj',3,6 ,5rnunion all select 52011,0,'kkk',1,34 ,4rnunion all select 52012,1,'lll',1,5,4rnunion all select 52013,0,'mmm',4,1,8rnunion all select 52014,1,'nnn',4,3 ,8rnunion all select 52015,0,'ooo',1,3,3rnrnselect * from #tcrnorder by [group]rnrn`具体的规则就是,sex表示性别,要不同性别的两个人配对,两人一组,或一人一组,rn配对原则,首先必须 depart 一致 ,否则,不能配对。在 depart 一致的前提下,subdepart 如果一致,则配成一对,剩下subdepart 不一致的,depart 一致也能配对,参照结果,不知道我说明白没rnrn谢谢大家
SQL开发:用笛卡尔积+分组条件分组
1、问题引出 学生们参加了10个课程的考试。每门课按成绩分布分成3等。 要求将学生每门课程分等。 - 学生成绩表_事实表 stdno学生号 clsno课程号 sc成绩 1 1 37 1 2 33 1 3 43 2 1 32 2 2 71 2 3 69 - 课程成绩分...
在asp中 怎么对数组 进行分组
rtrn比如现在有个数组 a=array(1,2,2,1,2,3)rn我现在想对他进行分组值为1的有几个,值为2的有几个,为3的有几个.rn有没有什么方法,
对数据进行分组
对数据进行分组 开发工具与关键技术:vs2015 c# 作者:吴耀存 撰写时间:2019.1.27 有时候我们需要查询一个用户的开房记录,要是该用户是开了几间房的,而我们只需要一间房的时候这时候就可以用到group by分组解决这个问题。 ...
分组再对分组进行数据统计
分组再对分组进行数据统计 select (select a_name from mps_area where p_areaid = a_id) as p_area, (select u_name from mps_uptown where p_uptown = u_id) as p_uptown, count(*) as p_number,p_areaid ,SUM(CASE p_resul...
这种情况下如何进行分组?
产品类别表 MType有以下几列:rn 编号 F_TCode ,rn 名称 F_TName ,rn 级数 F_Grade ,rn 是否明细 F_Detailrnrn产品表 Materials 有以下几列:rn 编号 F_MCodern 名称 F_MNamern 类别编号 F_TCode (类别编号取自产品类别表中的编号,且必须是明细级的 F_Detail='Y' )rn ...rnrn现在要出一个报表rnrn第一级编号rn 第二级编号rn 第三级编号rn 产品编号 产品名称 rn 产品编号 产品名称 rn ......rn 第三级编号rn 产品编号 产品名称 rn 产品编号 产品名称 rn ......rn .........rn 第二级编号rn 第三级编号rn 产品编号 产品名称 rn 产品编号 产品名称 rn ......rn 第三级编号rn 产品编号 产品名称 rn 产品编号 产品名称 rn ......rn 第二级编号rn 产品编号 产品名称 rnrn .........rn第一级编号rn......rnrn请问在数据窗口怎么进行分组?如上所示,产品类别的级数不固定,rn有可能是第二级甚至第一级的下面就直接是产品了rn
对数组进行分组
我现在想实现这么个功能,rnArray ( [tag] => id[type] => complete [level] => 4 [value] => 01 )rnArray ( [tag] => name[type] => complete [level] => 4 [value] => 小张 )rnArray ( [tag] => flag[type] => complete [level] => 4 )rnArray ( [tag] => id [type] => complete [level] => 4 [value] => 02 )rnArray ( [tag] => name [type] => complete [level] => 4 [value] => 小李 )rnArray ( [tag] => flag [type] => complete [level] => 4 )rnArray ( [tag] => id [type] => complete [level] => 4 [value] => 03 )rnArray ( [tag] => name [type] => complete [level] => 4 [value] => 小刘 )rnArray ( [tag] => flag [type] => complete [level] => 4 ) rnrn这几个数组是我通过解析xml文件得到打印出来的,他们每三个数组是一组,我需要把id, name, flag写入数据库,以上这种情况就是写三条数据进数据库。但是我取得的xml文件不固定,内容也不固定,所以每次不一定就是三个一组,我想做个通用的方法,把数组分类,然后循环存入数据库有什么好办法吗?各位大神?
fastreport 分组条件,多条件分组
[img=https://img-bbs.csdn.net/upload/201510/29/1446127903_865182.png][/img]rnrn如果,我想,分组页眉,分组条件是按学生名字和科目来进行分组。我不知道这里需要写什么。对于.NET 我完全是不懂,求问
根据条件 进行group by 分组
最近有份代码原来写的意思大概如下rn如果条件1存在,使用资金代码(zjdm)进行分组rn如果条件2存在,使用交易代码(jydm)进行分组rn如果条件1,2都存在,使用资金代码(zjdm)和交易代码(jydm)进行分组rn[code=SQL]rndeclare @condition1 int ,@condition2 intrndeclare @zlb tablern(rn col1 float,rn col2 float,rn col3 float,rn zljg float,rn zlsl float,rn zlje float,rn zjdm varchar(255),rn jydm varchar(255) rn)rndeclare @mrmcb tablern(rn col1 float,rn col2 float,rn col3 float,rn jg float,rn sl float,rn je float,rn zjdm varchar(255),rn jydm varchar(255) rn)rndeclare @mrmcb_cale tablern(rn col1 float,rn col2 float,rn col3 float,rn jg float,rn sl float,rn je float,rn zjdm varchar(255),rn jydm varchar(255) rn)rndeclare @mrmcb_sum tablern(rn col1 float,rn col2 float,rn col3 float,rn jg float,rn sl float,rn je float,rn zjdm varchar(255),rn jydm varchar(255) rn)rnselect @condition1 = 1,@condition2 = 1rninsert @zlb select 1,2,3,10,20,200,'买','张三'rn union select 1,2,3,10,30,300,'买','张三'rn union select 1,2,3,10,20,200,'买','李四'rn union select 1,2,3,30,10,300,'买','李四'rninsert @mrmcb select 1,2,3,20,50,1000,'买','张三'rn union select 1,2,3,10,20,200,'卖','张三'rn union select 1,2,3,10,50,500,'买','李四'rn union select 1,2,3,20,30,600,'卖','李四'rnif @condition1 = 0 and @condition2 = 0 -- 如果条件1和条件2都没有 rnbeginrn insert @mrmcb_cale rn select col1,col2,col3,max(zljg),sum(zlsl),sum(zlje),'',''rn from @zlbrn group by col1,col2,col3rn insert @mrmcb_cale rn select col1,col2,col3,max(jg),sum(sl),sum(je),'',''rn from @mrmcb rn group by col1,col2,col3rn insert @mrmcb_sum rn select col1,col2,col3,max(jg),sum(sl),sum(je),'',''rn from @mrmcb_calern group by col1,col2,col3 rnendrnif @condition1 = 0 and @condition2 = 1 -- 如果条件2存在,使用交易代码(jydm)进行分组rnbeginrn insert @mrmcb_cale rn select col1,col2,col3,max(zljg),sum(zlsl),sum(zlje),'',jydmrn from @zlbrn group by col1,col2,col3,jydmrn insert @mrmcb_cale rn select col1,col2,col3,max(jg),sum(sl),sum(je),'',jydmrn from @mrmcb rn group by col1,col2,col3,jydmrn insert @mrmcb_sum rn select col1,col2,col3,max(jg),sum(sl),sum(je),'',jydmrn from @mrmcb_calern group by col1,col2,col3,jydm rnendrnif @condition1 = 1 and @condition2 = 0 -- 如果条件1存在,使用资金代码(zjdm)进行分组rnbeginrn insert @mrmcb_cale rn select col1,col2,col3,max(zljg),sum(zlsl),sum(zlje),zjdm,''rn from @zlbrn group by col1,col2,col3,zjdmrn insert @mrmcb_cale rn select col1,col2,col3,max(jg),sum(sl),sum(je),zjdm,''rn from @mrmcb rn group by col1,col2,col3,zjdmrn insert @mrmcb_sum rn select col1,col2,col3,max(jg),sum(sl),sum(je),zjdm,''rn from @mrmcb_calern group by col1,col2,col3,zjdm rnendrnif @condition1 = 1 and @condition2 = 1 -- 如果条件1,2都存在,使用资金代码(zjdm)和交易代码(jydm)进行分组rnbegin rn insert @mrmcb_cale rn select col1,col2,col3,max(zljg),sum(zlsl),sum(zlje),zjdm,jydmrn from @zlbrn group by col1,col2,col3,zjdm,jydmrn insert @mrmcb_cale rn select col1,col2,col3,max(jg),sum(sl),sum(je),zjdm,jydmrn from @mrmcb rn group by col1,col2,col3,zjdm,jydmrn insert @mrmcb_sum rn select col1,col2,col3,max(jg),sum(sl),sum(je),zjdm,jydmrn from @mrmcb_calern group by col1,col2,col3,zjdm,jydm rnendrnselect * from @mrmcb_sumrn[/code]rnrn想把这个代码缩短,优化,不喜欢看到重复的代码(强迫症。。。)下面贴2个自己优化的方法rn方案1 (失败) group by 不能拆开rn[code=SQL]rn-- 方案1 (失败) group by 不能拆开 设置condition1 = 1,@condition2 = 1 是结果错误rnselect @condition1 = 1,@condition2 = 1 --设置条件rnrninsert @zlb select 1,2,3,10,20,200,'买','张三' --插入测试数据rn union select 1,2,3,10,30,300,'买','张三'rn union select 1,2,3,10,20,200,'买','李四'rn union select 1,2,3,30,10,300,'买','李四'rninsert @mrmcb select 1,2,3,20,50,1000,'买','张三'rn union select 1,2,3,10,20,200,'卖','张三'rn union select 1,2,3,10,50,500,'买','李四'rn union select 1,2,3,20,30,600,'卖','李四'rnrn rnif @condition1 = 0 rnbeginrn insert @mrmcb_calern select col1,col2,col3,max(zljg) as jg,sum(zlsl) as sl,sum(zlje) as je,'' as zjdm,'' as jydmrn from @zlbrn group by col1,col2,col3 rnendrnrnif @condition1 = 1rnbeginrn insert @mrmcb_calern select col1,col2,col3,max(zljg) as jg,sum(zlsl) as sl,sum(zlje) as je,'' as zjdm,'' as jydmrn from @zlbrn group by col1,col2,col3,zjdm rnendrnrnif @condition2 = 0 rnbeginrn insert @mrmcb_calern select col1,col2,col3,max(jg) as jg,sum(sl) as sl,sum(je) as je,'' as zjdm,'' as jydmrn from @mrmcbrn group by col1,col2,col3 rnendrnif @condition2 = 0 rnbeginrn insert @mrmcb_calern select col1,col2,col3,max(jg) as jg,sum(sl) as sl,sum(je) as je,'' as zjdm,jydmrn from @mrmcbrn group by col1,col2,col3,jydm rnendrnif @condition1 = 0 and @condition2 = 0rnbeginrn insert @mrmcb_sum rn select col1,col2,col3,max(jg),sum(sl),sum(je),'',''rn from @mrmcb_calern group by col1,col2,col3rnendrnif @condition1 = 1 and @condition2 = 0rnbeginrn insert @mrmcb_sum rn select col1,col2,col3,max(jg),sum(sl),sum(je),zjdm,''rn from @mrmcb_calern group by col1,col2,col3,zjdm rnendrnif @condition1 = 0 and @condition2 = 1rnbeginrnrn insert @mrmcb_sum rn select col1,col2,col3,max(jg),sum(sl),sum(je),'',jydmrn from @mrmcb_calern group by col1,col2,col3,jydm rnendrnif @condition1 = 1 and @condition2 = 1rnbeginrnrn insert @mrmcb_sum rn select col1,col2,col3,max(jg),sum(sl),sum(je),zjdm,jydmrn from @mrmcb_calern group by col1,col2,col3,zjdm,jydm rnendrnrnselect * from @mrmcb_sumrn[/code]rn方案2 (优化的还是不好,代码重复太多)rn[code=SQL]rn--方案2 (优化的还是不好)rnselect @condition1 = 1,@condition2 = 0 --设置条件rnrninsert @zlb select 1,2,3,10,20,200,'买','张三' --插入测试数据rn union select 1,2,3,10,30,300,'买','张三'rn union select 1,2,3,10,20,200,'买','李四'rn union select 1,2,3,30,10,300,'买','李四'rninsert @mrmcb select 1,2,3,20,50,1000,'买','张三'rn union select 1,2,3,10,20,200,'卖','张三'rn union select 1,2,3,10,50,500,'买','李四'rn union select 1,2,3,20,30,600,'卖','李四'rn rnif @condition1 = 0 and @condition2 = 0 -- 如果条件1和条件2都没有 rnbeginrn ;withrn a as rn (rn select col1,col2,col3,max(zljg) as jg,sum(zlsl) as sl,sum(zlje) as je,'' as zjdm,'' as jydmrn from @zlbrn group by col1,col2,col3rn unionrn select col1,col2,col3,max(jg) as jg,sum(sl) as sl,sum(je) as je,'' as zjdm,'' as jydmrn from @mrmcb rn group by col1,col2,col3rn )rn insert @mrmcb_sum rn select col1,col2,col3,max(jg),sum(sl),sum(je),'' as jydm,'' as zjdmrn from arn group by col1,col2,col3 rnendrnif @condition1 = 1 and @condition2 = 0 rnbeginrn ;withrn a as rn (rn select col1,col2,col3,max(zljg) as jg,sum(zlsl) as sl,sum(zlje) as je, zjdm,'' as jydmrn from @zlbrn group by col1,col2,col3,zjdmrn unionrn select col1,col2,col3,max(jg) as jg,sum(sl) as sl,sum(je) as je, zjdm,'' as jydmrn from @mrmcb rn group by col1,col2,col3,zjdmrn )rn insert @mrmcb_sum rn select col1,col2,col3,max(jg),sum(sl),sum(je), zjdm,'' as jydmrn from arn group by col1,col2,col3,zjdm rnendrnif @condition1 = 0 and @condition2 = 1 rnbeginrn ;withrn a as rn (rn select col1,col2,col3,max(zljg) as jg,sum(zlsl) as sl,sum(zlje) as je,'' as zjdm,jydmrn from @zlbrn group by col1,col2,col3,jydmrn unionrn select col1,col2,col3,max(jg) as jg,sum(sl) as sl,sum(je) as je,'' as zjdm,jydmrn from @mrmcb rn group by col1,col2,col3,jydmrn )rn insert @mrmcb_sum rn select col1,col2,col3,max(jg),sum(sl),sum(je), '' as zjdm,jydmrn from arn group by col1,col2,col3,jydm rnendrnif @condition1 = 1 and @condition2 = 1 rnbeginrn ;withrn a as rn (rn select col1,col2,col3,max(zljg) as jg,sum(zlsl) as sl,sum(zlje) as je,zjdm,jydmrn from @zlbrn group by col1,col2,col3,zjdm,jydmrn unionrn select col1,col2,col3,max(jg) as jg,sum(sl) as sl,sum(je) as je,zjdm,jydmrn from @mrmcb rn group by col1,col2,col3,zjdm,jydmrn )rn insert @mrmcb_sum rn select col1,col2,col3,max(jg),sum(sl),sum(je), zjdm,jydmrn from arn group by col1,col2,col3,zjdm,jydm rnendrnselect * from @mrmcb_sumrnrn[/code]rn请各位大神看看优化下,最好不要有重复的代码。
mysql 如何对截取的字段进行分组
我现在有个需求,比如我有5条记录,其中某个字段code的值为如下:rncodern12340001rn12340002rn12340003rn12350001rn12350002rnrn我想对这个字段的前4位来进行分组,完后计算组的个数,这5条记录的前四位只有两组,分别是1234和1235,所以我得到的最终结果应该是2,请问怎么写,弄了半天没弄出来
linq对数据集多个字段进行分组
linq有两种方式对一个数据集合进行分组 1.直接传递匿名类型 personList .groupBy(p=>{p.Age,p.Sex}) 2.如果遇到一个不支持创建匿名对象来多字段进行分组的,比如System.DataRow ProductAttrsTable .AsEnumerable() .GroupBy(g=>g.CategoryID) .SelectMany(g=>g.G
MYSQL GROUP BY 对多个字段进行分组
https://segmentfault.com/a/1190000006821331
SQL 分组进行小计
[code=SQL]rndeclare @table1 table( id int ,datecol varchar(255) ,col2 int)rninsert into @table1 select 1,'20121001' ,10rn union select 2,'20121001',20rn union select 3,'20121001',10rn union select 4,'20121002',30rn union select 5,'20121002',10rn union select 6,'20121002',10rn union select 7,'20121003',20rn union select 8,'20121003',10rn union select 9,'20121003',10rn rn--要求对记录按照时间分组统计小计rn--最后想得到的结果rn--'20121001' , 20 rn--'20121001' , 30 rn--'20121001' , 10 rn--'小计',60rn--'20121002' , 30 rn--'20121002' , 10 rn--'20121002' , 10 rn--'小计',50rn--'20121003' , 20 rn--'20121003' , 10 rn--'20121003' , 10 rn--'小计',40 rn[/code]rn要求对日期进行分组统计col2的值
Linq怎么对datatable进行多条件分组
比喻,我在C#中有一个DataTablernflightno flightTime arrivalTime passengerrnAU123 2010-12-20 12:30 2010-12-20 15:30 小QrnAU123 2010-10-20 12:30 2010-12-20 15:30 小TrnAU123 2010-10-21 12:00 2010-12-21 14:30 小NrnAU124 2010-10-22 12:00 2010-12-22 11:30 小Frn用linq进行group by 之后会得到下面的新结果:rnflightno flightTime arrivalTime passenger rowcountrnAU123 2010-12-20 12:30 2010-12-20 15:30 小Q/小T 2rnAU123 2010-10-21 12:00 2010-12-21 14:30 小N 1rnAU124 2010-10-22 12:00 2010-12-22 11:30 小F 1rn请大侠们帮帮我...rn我用group by 之后的field<"">("")groupby 只能指定一个条件,,我们的项目不能用linq to sql
SQL 语句进行分组
[code=SQL]rnUnitID UserID 任务标识 表标识 表名称rn110100 市辖区 T1111 B1000 表1rn110100 市辖区 T1111 B1000 表2rn110100 市辖区 T1111 B1000 表3rn110100 市辖区 T1111 B1000 表4rn110100 市辖区 T1111 B1000 表5rn110100 市辖区 T1111 B1000 表6rn110100 市辖区 T1111 B1000 表7rn110100 市辖区 T1111 B1000 表8rn110100 市辖区 T1111 B1000 表9rn110200 县 T1111 B1000 表1rn110200 县 T1111 B1000 表2rn110200 县 T1111 B1000 表3rn110200 县 T1111 B1000 表4rn110200 县 T1111 B1000 表5rn110200 县 T1111 B1000 表6rn110200 县 T1111 B1000 表7rn110200 县 T1111 B1000 表8rn110200 县 T1111 B1000 表9rn[/code]rn想得到的结果是每个表名称的单位数量rn[code=SQL]rn数量 表名称rn2 表1rn2 表2rn2 表3rn2 表4rn2 表5rn2 表6rn2 表7rn2 表8rn2 表9rn[/code]rn
求救:sql server中怎么对统计数据进行分组
假设有这样一个出勤表work,有:出勤表序号、出勤人员编号、出勤时间等一些字段。想要按出出勤次数进行分组统计,统计结果显示如下:rn 出勤次数   人数rn 10 100rn 9 50rn 8 40rnrn请教各位大侠,怎么实现?
SQL 分组条件聚合怎么实现?
我有图1实例样式的数据和表格。想得到图2的结果。不知道SQL语句该怎么写了,谢谢。n![图片说明](https://img-ask.csdn.net/upload/201508/18/1439872867_410869.png)
sql技巧-构造分组条件
with t1 as (select day, count(*) over(order by day range between current row and interval '1' day following) cnt1 from papa),t2 as(select day,cnt1,lag(cnt1) over(order by day) cnt2 fr
sql按条件配对分组
原数据 rnif object_id(N'tempdb..#tb') is not null rndrop table #tb rncreate table #tb([id] int, sex int , [Name] varchar(13),depart int,subdepart int,[group] int) rninsert #tb select 52001,0,'aaa',1,2,0 rnunion all select 52002,1,'bbb',1,2,0 rnunion all select 52003,0,'ccc',1,4 ,0 rnunion all select 52004,1,'ddd',1,6 ,0 rnunion all select 52005,0,'eee',2,1,0 rnunion all select 52006,1,'fff',6,23,0 rnunion all select 52007,0,'ggg',3,6 ,0 rnunion all select 52008,1,'hhh',2,1,0 rnunion all select 52009,0,'iii',3,6,0 rnunion all select 52010,1,'jjj',3,6 ,0 rnunion all select 52011,0,'kkk',1,34 ,0 rnunion all select 52012,1,'lll',1,5,0 rnunion all select 52013,0,'mmm',4,1,0 rnunion all select 52014,1,'nnn',4,3 ,0 rnunion all select 52015,0,'ooo',1,3,0 rnselect * from #tb rnrn要求的结果 rnrnrnif object_id(N'tempdb..#tc') is not null rndrop table #tc rncreate table #tc([id] int, sex int , [Name] varchar(13),depart int,subdepart int,[group] int) rninsert #tb select 52001,0,'aaa',1,2,1 rnunion all select 52002,1,'bbb',1,2,1 rnunion all select 52003,0,'ccc',1,4 ,2 rnunion all select 52004,1,'ddd',1,6 ,2 rnunion all select 52005,0,'eee',2,1,6 rnunion all select 52006,1,'fff',6,23,9 rnunion all select 52007,0,'ggg',3,6 ,7 rnunion all select 52008,1,'hhh',2,1,6 rnunion all select 52009,0,'iii',3,6,5 rnunion all select 52010,1,'jjj',3,6 ,5 rnunion all select 52011,0,'kkk',1,34 ,4 rnunion all select 52012,1,'lll',1,5,4 rnunion all select 52013,0,'mmm',4,1,8 rnunion all select 52014,1,'nnn',4,3 ,8 rnunion all select 52015,0,'ooo',1,3,3 rnrnselect * from #tc rnorder by [group] rnrn`具体的规则就是,sex表示性别,要不同性别的两个人配对,两人一组,或一人一组, rn配对原则,首先必须 depart 一致 ,否则,不能配对。在 depart 一致的前提下,subdepart 如果一致,则配成一对,剩下subdepart 不一致的,depart 一致也能配对,参照结果,不知道我说明白没 rn谢谢原数据 rnif object_id(N'tempdb..#tb') is not null rndrop table #tb rncreate table #tb([id] int, sex int , [Name] varchar(13),depart int,subdepart int,[group] int) rninsert #tb select 52001,0,'aaa',1,2,0 rnunion all select 52002,1,'bbb',1,2,0 rnunion all select 52003,0,'ccc',1,4 ,0 rnunion all select 52004,1,'ddd',1,6 ,0 rnunion all select 52005,0,'eee',2,1,0 rnunion all select 52006,1,'fff',6,23,0 rnunion all select 52007,0,'ggg',3,6 ,0 rnunion all select 52008,1,'hhh',2,1,0 rnunion all select 52009,0,'iii',3,6,0 rnunion all select 52010,1,'jjj',3,6 ,0 rnunion all select 52011,0,'kkk',1,34 ,0 rnunion all select 52012,1,'lll',1,5,0 rnunion all select 52013,0,'mmm',4,1,0 rnunion all select 52014,1,'nnn',4,3 ,0 rnunion all select 52015,0,'ooo',1,3,0 rnselect * from #tb rnrn要求的结果 rnrnrnif object_id(N'tempdb..#tc') is not null rndrop table #tc rncreate table #tc([id] int, sex int , [Name] varchar(13),depart int,subdepart int,[group] int) rninsert #tb select 52001,0,'aaa',1,2,1 rnunion all select 52002,1,'bbb',1,2,1 rnunion all select 52003,0,'ccc',1,4 ,2 rnunion all select 52004,1,'ddd',1,6 ,2 rnunion all select 52005,0,'eee',2,1,6 rnunion all select 52006,1,'fff',6,23,9 rnunion all select 52007,0,'ggg',3,6 ,7 rnunion all select 52008,1,'hhh',2,1,6 rnunion all select 52009,0,'iii',3,6,5 rnunion all select 52010,1,'jjj',3,6 ,5 rnunion all select 52011,0,'kkk',1,34 ,4 rnunion all select 52012,1,'lll',1,5,4 rnunion all select 52013,0,'mmm',4,1,8 rnunion all select 52014,1,'nnn',4,3 ,8 rnunion all select 52015,0,'ooo',1,3,3 rnrnselect * from #tc rnorder by [group] rnrn`具体的规则就是,sex表示性别,要不同性别的两个人配对,两人一组,或一人一组, rn配对原则,首先必须 depart 一致 ,否则,不能配对。在 depart 一致的前提下,subdepart 如果一致,则配成一对,剩下subdepart 不一致的,depart 一致也能配对,参照结果,不知道我说明白没 rnrn谢谢zjcxc
sql, group by 对数据进行分组
如下成绩表:report 1、查找所有分数高于80分的学生 select name from report group by name having min(score) > 80; 分析:先对表内数据按名字进行分组, 再在分组的数据中找出最低分大于80的学生 having  和min 结合使用, 用来限制分数最小值不能为80; 其它限制函数: having min(列名)
sql先排序后分组
在查询的时候,当使用group by之后,每个分组默认显示的数据是主键值最小的那一条数据,这个时候使用再使用 order by 来排序的话也也只是对分组后的结果进行排序,对分组内数据的排序没有影响。   这个时候,当我们需要自定义每个分组显示那一条数据的时候,我们就可以通过以下方式来实现   select * from (select  * from 表名 order by xx)as t g
SQL对取值范围进行分组汇总
SQL对取值范围进行分组汇总SQL对取值范围进行分组汇总实例解决方案查询结果示例本文写作时参考文章链接 SQL对取值范围进行分组汇总 实例 假设现在有这么两个表,要做关联查询,查询出每个乡镇每个年龄段的driver有多少个,该怎么写sql语句? 查询出结果是这种的 。 那么sql应该怎么写呢 解决方案 1、SQL server数据库环境 SELECT [town_name], COUNT(CA...
Rails 对多个字段分组
Active Record 的功能性查询例如:Model.count Model.avg都不支持多个字段的分组操作。 实际上使用all和map和though会比较容易实现同样效果如下: [code=&quot;ruby&quot;]Item.all( :select =&gt; 'COUNT(*) AS count, age, gender', :group =&gt; 'age, gender' )....
GROUP BY 多个字段进行分组
GROUP BY `字段名` 将所有具有相同 `字段名` 的记录,放到一个分组中; GROUP BY `字段名A`, `字段名B` 将所有具有相同 `字段名A` 和 `字段名B` 的记录,放到一个分组中。 ...
对list进行分组操作
分组算法 public class TestArrayListGroupByKey { public static void main(String[] args) { /*1、准备数据**/ SkuVo sku1 = new SkuVo(1L,&quot;p1&quot;,100L); SkuVo sku2 = new SkuVo(2L,&quot;p2&quot;,101L)...
水晶报表 根据多列进行分组,然后对分组的类容中的某个字段进行求和
对多列分组 用公式 列1+列2+列3rn但是我如果直接用户运行总计字段放入到组尾中,后面的组的小计会把前面的组的小计也算进去。rn如果用sum sum('小计的列名.,分组列1+列2+列3) 分组列1+列2+列3)会报错 ,只能用一列?sum公式应该怎么写
怎样对数据进行分组
用group by id 为什么不起作用
如何对radiobutton进行分组
在同一个网页里,我有好多radiobutton,但要分组rnrn便如,我要做一个四选一考试页面,十题一页,一题有四个选项,但只能每一题选一个,如何进行分组呢?rnrn谢谢
根据字符串进行分组分组
现在我有字符串bbbaaacccdddeeeaaafffggg如何根据aaa进行分组,存放在一个数组里面,当初我用split,可是这样只能根据字符来分而不是根据字符串 ,请问各位大侠,应该怎么解决?
Java对Collections进行分组
在处理批量数据的时候,查出一批数据后想分组处理咋办,有什么简便的方法吗? 准备一点数据: public class User { private Integer id; private String type; private String name; private String date; private BigDecimal money; pri
对输入验证进行分组问题
一个Dropdownlist,一个Textbox,分别用RequiredFieldValidator进行验证;rn两个按钮,button1,Button2。rn现在点击Button1和Button2 ,都要对Dropdownlist进行验证,rn点击Button1,还要验证Textbox,rn点击Button2,不需验证Textbox。rn请问高人怎么实现?
如何对下表进行分组?
[img=https://img-bbs.csdn.net/upload/201804/20/1524216340_833703.jpg][/img]rn表中2月份有两个记录,想合并2月份的怎么弄?
GROUP BY 对记录进行分组
King老师精心打造深入浅出MySQL课程,由浅入深的剖析了MySQL的体系架构,MySQL底层架构,深度讲解了MySQL中的常用操作,像数据库相关操作、数据表相关操作,重点讲解了数据相关操作,包括多表联查、子查询、无限极分类等。课程中还介绍了目前主流存储的引擎及其特点与应用场景,后介绍了两款常用的MySQL图形化管理工具!
C#对数据进行分组
[img=https://img-bbs.csdn.net/upload/201904/02/1554219292_680627.png][/img]rnrn对数据进行分组:rnQTY大于500,1个Lot一组,QTY小于等于500,5个Lot一组,并对分组编号,求C#解决方案。
java对一个无序列表进行分组
对一个集合的数据进行分组/** * rCount : 11 * rData : [{"area_id":"1","up_area_id":"0","area_key":"000001","area_name":"龙田镇","area_img":"","area_points":[],"childs":[{"area_id":"3","up_area_id":"1","area_k
怎样在水晶报表中对两个字段进行分组
怎样在水晶报表中对两个字段进行分组
在水晶报表中怎样对分组进行小计
如题,有人说插入小计就行,但我没有找到小计在哪,哪位能给详细说一下。
sql语句包含子查询怎么进行分组
rnselect date(orderTime) as '日期', count(*) as '总笔数',rn(select count(*) from morder where orderTime between '2011-05-10' and '2011-05-20' and rnrnpayStatus=1 ) as '成功笔数',rn(select count(*) from morder where orderTime between '2011-05-10' and '2011-05-20' and rnrnpayStatus=0) as '未支付笔数',rn(select count(*) from morder where orderTime between '2011-05-10' and '2011-05-20' and rnrnpayStatus=3) as '冲正笔数',rn(select sum(amount)*0.01 from morder where orderTime between '2011-05-10' and '2011-05-20' rnrnand payStatus=1) as '成功总金额'rnfrom morder where orderTime between '2011-05-10' and '2011-05-20' GROUP by date(orderTime)rnrnrn这是我的sql语句rnrn我想实现成这样的rnrn 日期 总笔数 成功笔数 未支付笔数 冲正笔数 成功总金额rn 5.10 33 0 33 0 1.1rn 5.11 45 2 40 3 3.2rn 总计 78 2 73 3 4.3rnrnrn要实现这样的rn怎么办 rn
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数

相似问题

7
SQL以a字段为条件,修改b字段为c字段中的一部分,求代码,求各路大神帮个忙在线等谢谢
2
mysql的一个sql问题求大佬解答
4
SQL 同时更新一张表里的一个字段所有数据, 数据是本表里的一个字段+1.怎么写啊
15
mybaties 中 根据两个字段进行自关联分组并查询信息
4
sqlserver列值当成另一个表的字段
3
MFC中想得到sql中某个字段中“1”的重复次数,应该如何操作?
10
sql server查询多个条件字段为null条数不显示
2
sql语句 统计name这个字段里面 值是"Stu"的数量?
15
sql根据某个字段查找所有值 但是指定去重某几个字段 怎么写??
9
sql如何根据一个字段内容修改 另一个字段的值为(取最大值)
3
关于SQL server根据本地系统时间插入不同字段
8
asp与access做的系统,如果一个表23个字段会多吗?
4
关于SQL server 2008如何求每一行几列的数据总计并赋值到另一个字段中
12
SQL 三个参数匹配一个字段查询应该如何做呢?
3
SQL查询一个表中某个字段值与另一个表中字段值相同的记录
6
SQL查询一个表中某个字段值第一个不连续的记录
8
SQL查询语句,一个字段存储的数据为数组字符串,查询其是否包含某个值
1
分区表中分区字段的选择
3
SQL查询一个表t中所有A字段中存在某一位置的字符不等于'0'同时B字段相同位置的字符等于'2'或者'3'的记录
3
SQL 如何提取多个 相同字段 语句?