返回0,當我運行此查詢:總和在錢列
SELECT [id],[amount],sum(amount) as Total
FROM transaction
where id='035'
group by id, amount
我得到一些結果一樣
id amount Total
035 -55115.24 -55115.24
035 -2126.14 -2126.14
然而,當我試圖得到一個總(爲amount
列)使用這個查詢;
select id, count(*) as howMany, sum(amount) as Total
from transaction
where id='035'
group by id
order by count(*) desc
我得到這些結果。
id howMany Total
035 2 0.00
我希望得到
id howMany Total
035 2 -057241.38
我試圖簡化查詢,不計,只是爲了檢查和工作
select id, sum(amount) as Total
from transaction
where id='035'
group by id
但同樣這給me 0 as total total
id Total
035 0.00
我也試過這個id,它們的金額列中有正值,但是得到相同的行爲。爲了說明問題,我希望整個表格中的每個id
的amount
列中的值的總數不僅僅是每行,而且在SQL中使用SUM
函數時只能得到零。
我注意到的另一件事,id
列是nvarchar
,而不是表的ID /密鑰。這是一箇舊數據庫,由於某種原因,它支持僅通過主鍵鏈接nvarchars。我無法更改表格結構。
架構
CREATE TABLE [dbo].[transaction](
[trindex] [int] IDENTITY(1,1) NOT NULL,
[id] [varchar](15) NULL,
[date] [datetime] NULL,
[amount] [money] NULL,
[acct] [varchar](20) NULL
)
你運行SQL Server Management Studio中的這個查詢還是通過一個應用程序?我的第一個猜測是應用程序正在改變價值。 –
我正在通過SSMS運行。該應用程序將不會改變這些值 –
你從一個簡單的SQL得到什麼: SELECT [ID],[金額] 從交易 其中id =「035」 ,哪些數據類型是多少? – SAS