簡體   English   中英

無法獲得正確的查詢

[英]Cannot getting Correct query

我有一個名為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

在整個表格中使用窗口函數sumover () ):

select  1.0 * data / sum(data) over ()
from    tableName

SQL Fiddle中的示例。

我不確定60的值來自哪里,但是我會做這樣的事情:

select data + '/' + sum(data) from datatable group by data

對於串聯,請檢查此鏈接: http : //msdn.microsoft.com/zh-cn/library/aa276862(v=sql.80).aspx

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM