有一个表A结构如下:
银行名称(bankName) 卡类型(cardType) 交易金额(tradeMoney) 交易日期(tradeDate)现在要查询这样一个结果
交易日期 银行名称 卡类型 交易金额 所占比例
要根据 交易日期 银行名称 卡类型 三项分组所占比例的意思是:某天某家银行某种卡类型的交易额占该天所有银行所有卡类型的交易额百分比
银行名称(bankName) 卡类型(cardType) 交易金额(tradeMoney) 交易日期(tradeDate)现在要查询这样一个结果
交易日期 银行名称 卡类型 交易金额 所占比例
要根据 交易日期 银行名称 卡类型 三项分组所占比例的意思是:某天某家银行某种卡类型的交易额占该天所有银行所有卡类型的交易额百分比
select tradeDate,bankName,cardType,sum(tradeMoney),sum(tradeMoney)/(select sum(tradeMoney) from test) from test group by tradeDate,bankName,cardType;
BANKNAME,
CARDTYPE,
SUM_TRADEMONEY,
SUM_TRADEMONEY / SUM(SUM_TRADEMONEY) OVER(PARTITION BY TRADEDATE) AS 占比
FROM (SELECT TRADEDATE,
BANKNAME,
CARDTYPE,
SUM(TRADEMONEY) SUM_TRADEMONEY
FROM TEST
GROUP BY TRADEDATE,
BANKNAME,
CARDTYPE)
from(
select tradeDate,bankName,cardType,sum(tradeMoney) tradeMoney
from t
group by tradeDate,bankName,cardType
)
where ...