0
我有作爲SQL查詢的一部分的Sql返回0,其中一個比預期
SELECT
TransID,
SUM(isSatisfactory) as SatTr,
count(AllTrades.AllTradeIndex) as AllTr,
(SUM(isSatisfactory)/count(AllTrades.AllTradeIndex)) * 100 as RatioOf
FROM
...Several subqueries here...
GROUP BY TransID
的結果是
strTransID SatTr AllTr RatioOfGoodAccounts
307319906 6 12 0
如果我選擇沒有組和數學的列,這是結果設置
strTransID isSatisfactory AllTradeIndex
307319906 NULL 1334036
307319906 NULL 1334037
307319906 NULL 1334038
307319906 NULL 1334039
307319906 NULL 1334040
307319906 1 1334041
307319906 NULL 1334042
307319906 1 1334043
307319906 1 1334044
307319906 1 1334045
307319906 1 1334046
307319906 1 1334047
我想也許是空搞亂它,但我想聚結,並沒有影響結果。
整數運算。如果數據類型是整數(無小數),則在SQL服務器中將'(SUM(isSatisfactory)/ count(emplodes.AllTradeIndex))'改爲'(SUM(isSatisfactory * 1.0)/ count然後評估結果也是整數(無小數)來解決,將數據類型轉換爲所需長度的十進制或乘以小數,以便引擎知道在結果中包含小數。 [文檔顯示這是預期](https://docs.microsoft.com/en-us/sql/t-sql/language-elements/divide-transact-sql) – xQbert
@xQbert是的,這是我的問題是。 –