我正在尝试对数据进行分组并计算整体的百分比。
分组工作,但我不能得到总音量。注释掉的行不识别T.
SELECT P.[LiqProvider], P.[Volume],
-- P.[Volume]/(SELECT SUM([Volume]) FROM T)
FROM (
SELECT *
FROM (
SELECT A.[LiqProvider] ,COUNT(A.[ExecSignedAmount]) AS Trades, SUM(ABS(A.[ExecSignedAmount])) AS Volume
FROM (
SELECT [LiqProvider],[Symbol],[ExecSignedAmount]
FROM [BT].[LB].[FilledOrders]
WHERE [OrderDate] = '2018-07-02'
UNION ALL
SELECT [LiqProvider],[Symbol],[ExecSignedAmount]
FROM [BT].[LB2].[FilledOrders]
WHERE [OrderDate] = '2018-06-02'
) AS A
GROUP BY A.[LiqProvider]
) AS T
) AS P
它可能就像你指定的那样简单(AS Volume),但你的注释掉的行试图找到[Volume],如果这有意义我最近才开始使用SQL,所以我不确定这似乎是我要检查的东西。如果这有帮助,请告诉我,谢谢。
您的外部查询不知道任何T表。它知道一个P表。既然你想要音量及其总和,你应该使用OVER:
SELECT P.[LiqProvider], P.[Volume], SUM(P.[Volume]) over ()
FROM.....(the rest of your code)