表:
名稱 值1 值2
---- --- ---
a 1 3
a 2 1
...
====下面是查詢====
select 名稱,sum(值1),sum(值2)
from 表
group by 名稱
====結果====
a 3 4
a 3 4 1.3333
select 名稱,sum(值1),sum(值2),sum(值1)/sum(值2) 占率
from 表
group by 名稱
select 名稱,sum(值1),sum(值2),m(值1)+sum(值2)
from 表
group by 名稱
select sum(值1),sum(值2),sum(值1)/sum(值2)
from 表
group by 名稱
select 名稱,sum(值1),sum(值2),sum(值1)+sum(值2)
from 表
group by 名稱
select 名稱,sum(值1),sum(值2),ltrim(cast(sum(值1)/sum(值2) as decimal(18,2)))+'%' 比例
from 表
group by 名稱
select 名稱,sum(值1),sum(值2),sum(值1)/sum(值2) AS 值3
from 表
group by 名稱
或
select 名稱,a,b,ISNULL(a,0)/ISNULL(b,0) AS c from(select 名稱,sum(值1) As a,sum(值2) AS b
from 表
group by 名稱) AS 表1
--> 測試數據:#tb
if object_id('tempdb.dbo.#tb') is not null drop table #tb
create table #tb([名稱] varchar(1),[值1] int,[值2] int)
insert #tb
select 'a',1,3 union all
select 'a',2,1
select [名稱],SUM([值1]),SUM([值2]),SUM([值1])*1.0/SUM([值2]) from #tb
group by [名稱]
select 名稱,sum(值1),sum(值2),CAST(sum(值2)*1.0/sum(值1) AS DECIMAL(18, 4))
from 表
group by 名稱
if object_id('tempdb.dbo.#tb') is not null drop table #tb
create table #tb([名稱] varchar(1),[值1] int,[值2] int)
insert #tb
select 'a',1,3 union all
select 'a',2,1
select [名稱],SUM([值1]),SUM([值2]),SUM(1.*[值1]/[值2]) from #tb
group by [名稱]
----------------
名稱 (無列名) (無列名) (無列名)
a 3 4 2.33333333333
SELECT 1/3 + 2/1
--根據運算符優先級:先/,再+
SELECT (1+2)/(3+1)
--有括號:先+,再/
--注意:1/3 = 0, 3/4 = 0
select 名稱,sum(值1),sum(值2),sum(值1)/sum(值2) 占率
from 表
group by 名稱
create table #tb([名稱] varchar(1),[值1] int,[值2] int)
insert #tb
select 'a',1,3 union all
select 'a',2,1
go
select 名稱,sum(值1),sum(值2),1.*sum(值1)/sum(值2) 占率
from #tb
group by 名稱
drop table #tb
名稱 占率
---- ----------- ----------- ---------------------------------------
a 3 4 0.75000000000
(1 行受影響)
create table #tb([名稱] varchar(1),[值1] int,[值2] int)
insert #tb
select 'a',1,3 union all
select 'a',2,1
go
select 名稱,sum(值1)值1,sum(值2)值2,
cast(1.*sum(值2)/sum(值1) as decimal(18,4)) 占率,
ltrim(cast(1.*sum(值2)/sum(值1) as decimal(18,4)))+'%' 比例
from #tb
group by 名稱
drop table #tb
名稱 值1 值2 占率 比例
---- ------- --------- ---------- -------------
a 3 4 1.3333 1.3333%
(1 行受影響)
select 名稱,sum(值1),sum(值2),1.*sum(值2)/sum(值1) 占率
from #tb
group by 名稱
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。