代号 重量 车号 车次
a01 10 a1 b1
a02 20 a2 b2
a02 10 a3 b2
a03 10 a3 b3
a04 20 a2 b2
a04 30 a4 b2
希望达到如下效果
车次 重量 次数
b1 10 1
b2 80 2
b3 10 1即代号相同的视为同一车次。
请帮帮忙,谢谢了
a01 10 a1 b1
a02 20 a2 b2
a02 10 a3 b2
a03 10 a3 b3
a04 20 a2 b2
a04 30 a4 b2
希望达到如下效果
车次 重量 次数
b1 10 1
b2 80 2
b3 10 1即代号相同的视为同一车次。
请帮帮忙,谢谢了
FROM 表名
GROUP BY 车次
group by 车次
FROM 表名
GROUP BY 车次
up
(SELECT TOP 1 车次 FROM 表名 A WHERE 代号 = A.代号) AS 车次 ,SUM(重量) AS 重量, COUNT(*) AS 次数
FROM 表名
GROUP BY 代号
inner join
(select b.车次 as 车次, count(*) as 次数 from 表 b group by b.代号) t
on a.车次 = t.车次等会再调试一下
b1 10 1
b1 30 2
b1 10 1
b1 50 2结果不对啊。第1列都是b1了。。
(SELECT TOP 1 车次 FROM 表名 A WHERE B.代号 = A.代号) AS 车次 ,SUM(重量) AS 重量, COUNT(*) AS 次数
FROM 表名 B
GROUP BY 代号 这样看看.
insert @testTable values('a01',10,'a1','b1')
insert @testTable values('a02',20,'a2','b2')
insert @testTable values('a02',10,'a3','b2')
insert @testTable values('a03',10,'a3','b3')
insert @testTable values('a04',20,'a2','b2')
insert @testTable values('a04',30,'a4','b2')select carbout,Sum(Weight) as Weight,Count( Distinct num) as boutCount from @testTable
group by carbout
create table vechile_log(代号 varchar(10),重量 int,车号 varchar(10),车次 varchar(10));
insert into vechile_log
select 'a01',10,'a1','b1'
union all select 'a02',20,'a2','b2'
union all select 'a02',10,'a3','b2'
union all select 'a03',10,'a3','b3'
union all select 'a04',20,'a2','b2'
union all select 'a04',30,'a4','b2'--统计
select 车次,SUM(重量) as 重量,COUNT(1) as 次数
from vechile_log
group by 车次--清除测试环境
drop table vechile_log--结果
/*
车次 重量 次数
b1 10 1
b2 80 4
b3 10 1*/
--创建测试环境
create table vechile_log(代号 varchar(10),重量 int,车号 varchar(10),车次 varchar(10));
insert into vechile_log
select 'a01',10,'a1','b1'
union all select 'a02',20,'a2','b2'
union all select 'a02',10,'a3','b2'
union all select 'a03',10,'a3','b3'
union all select 'a04',20,'a2','b2'
union all select 'a04',30,'a4','b2'--统计
select 车次,SUM(重量) as 重量,COUNT(distinct 代号) as 次数
from vechile_log
group by 车次--清除测试环境
drop table vechile_log--结果
/*
车次 重量 次数
b1 10 1
b2 80 2
b3 10 1*/
(代号 varchar(10),
重量 int,
车号 varchar(10),
车次 varchar(10)
)insert into #tp values('a01',10,'a1','b1')
insert into #tp values('a02',20,'a2','b2')
insert into #tp values('a02',10,'a3','b2')
insert into #tp values('a03',10,'a3','b3')
insert into #tp values('a04',20,'a2','b2')
insert into #tp values('a04',30,'a4','b2')select * from #tpselect a.车次,sum(a.重量) as 重量,count(1) 次数
from
(
select 代号,车次,sum(重量) as 重量
from #tp
group by 代号,车次
) as agroup by a.车次order by a.车次
drop table #tp