dsmc.net
当前位置:首页 >> SQL如何多表分组统计一起显示 >>

SQL如何多表分组统计一起显示

这样改试一下: select * from ( SELECT qw, COUNT(qw) AS a1 FROM mrmxb GROUP BY qw union SELECT bw, COUNT(bw) AS a1 FROM mrmxb GROUP BY bw union SELECT sw, COUNT(sw) AS a1 FROM mrmxb GROUP BY sw union SELECT gw, COUNT(gw) AS a1 F...

declare @t table (hm varchar(10),fy int) insert @t values ('23456',12) insert @t values ('56423',13) insert @t values ('56321',15) insert @t values ('89546',25) insert @t values ('78965',85) insert @t values ('56789',88) select...

select sum(case when con1||con2='11' then count else 0 end) 三星笔记本, sum(case when con1||con2='12' then count else 0 end) 三星台式机, sum(case when con1||con2='22' then count else 0 end) 苹果笔记本, sum(case when con1||con2=...

可以有两种解决方法, 所需工具:SQL 查询两个count的方法1: SELECT paperName , COUNT (1) AS 总题数 , sum (CASE WHEN statu = 1 THEN 1 ELSE 0 END) AS 审核题数FROM questionGROUP BY paperNme 查询两个count的方法2: select s.总题数, s.审...

这实际上是列更换及分组汇总的问题: 请注意,进货表名用“order”会产生关键字冲突,下面代码用方括号[order]以区别于排序用关键字order,至于syabese对有关键字冲突的表名是否也是用方括号,请参阅联机说明。一般来说,不同的数据库都是采用方括...

可以出现,你的查询语句是先进行多表连接,然后再分组,如果你想在结果中出现B表字段,要么出现的是对B表字段聚合函数的使用(例如:max(B.c1) ),要么就在分组中也把你想要的B字段加进去,如果你分组并不象针对B造成影响,那也可以在结果集中使...

通过contract_project做中间表就行: select * from contract_project a left join project b on a.projectId = b.projectId left join contract c on a.contractId = c.contractId 前提是contract_project要大而全,包含所有的pid和cid,不然不行

create proc Mypro as begin declare @t table(个人编号 varchar(10),工资 money,养老保险 money,年金 money,住房公积金 money) insert into @t(个人编号,工资,养老保险,年金) select * from 表一 insert into @t select * from 表二 insert int...

这个sql可以通过将初始查询结果集用括号括起来当作一个子查询(也可以称之为虚拟表),然后再对其实施进一步筛选从而获得另一个结果集的办法予以实现。 例如列出各科平均分在80到90分的同学姓名和各科平均分 select stu.name,t.平均分 from stu, (...

用group by就可以解决。 比如表名为test,数据如下 id grade 1 10 1 20 2 40 2 30 现在要求按id分组查询grade的和,可以用如下语句: select id,sum(grade) as grade from test group by id; 得到的结果是 id grade 1 30 2 70

网站首页 | 网站地图
All rights reserved Powered by www.dsmc.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com