我想添加一列以显示金额百分比,但我的查询返回0而不是百分比或小数。
我需要这样
我正在尝试的SQL查询
SELECT B_BRAND,
B_QTY,
B_QTY/(SELECT SUM(B_QTY) FROM Table_B) AS PCENT
FROM Table_B
我实际上需要分组依据。
答案 0 :(得分:0)
您正在执行Integer / integer(整数/整数),使用SQL只会给出一个整数结果。
cast
作为小数点前-应该会为您提供所需的结果
* 100以达到百分比。
SELECT B_BRAND,
B_QTY,
cast(B_QTY as decimal(32,2))/cast(SUM(B_QTY) over () as decimal(32,2)) *100.00 AS PCENT
FROM Table_B
答案 1 :(得分:0)
SELECT B_BRAND,
B_QTY,
B_QTY * 1.0 / SUM(B_QTY) over() AS PCENT
FROM Table_B