我有一个名为 Datatable 的表。它有一个名为data
.
data
-------
10
20
30
我需要得到一个专栏
data
-------
10/60
20/60
30/60
我将查询写为
select data/sum(data)
from datatable;
我有一个名为 Datatable 的表。它有一个名为data
.
data
-------
10
20
30
我需要得到一个专栏
data
-------
10/60
20/60
30/60
我将查询写为
select data/sum(data)
from datatable;
对于 SQL Server 2005+,您可以这样做:
SELECT CAST(data AS VARCHAR(10)) + '/' + CAST(SUM(data) OVER() AS VARCHAR(10))
FROM Datatable
尝试,
select a.data / b.total -- will result the quotient of 10/60
from datatable a,
(select SUM(data) total from datatable) b
但如果你想把它连接起来
select a.data + '/' + b.total -- will result literal string value of 10/60
from datatable a,
(select SUM(data) total from datatable) b
这适用于 SQL Server 2005 或更高版本:
declare @t table (data int)
insert into @t (data) values (10),(20),(30)
select (data * 1.0)/ SUM(data) OVER () from @t
我不确定 60 值来自哪里,但我会这样做:
select data + '/' + sum(data) from datatable group by data
对于串联,请查看此链接: http: //msdn.microsoft.com/en-us/library/aa276862 (v=sql.80).aspx
希望这可以帮助。