我有一些数据包含“货币对”(如欧元/美元,SPX500 /美元等)和其他信息。我可以使用
获得胜利 SELECT "Currency Pair", COUNT(Pl) AS Win FROM data WHERE Pl>0.01
GROUP BY "Currency Pair";
虽然操作总数由
给出 SELECT "Currency Pair", COUNT(Pl) AS Total FROM data WHERE ABS(Pl)>0.01
GROUP BY "Currency Pair";
现在我想打印一个像
这样的表格 Currency Pair Win Tot Success rate
--------------- --- --- ------------
EUR/USD 3 11 27.27
SPX500/USD 6 8 75.00
但不幸的是,我无法正确计算百分比,也无法在同一张桌子上打印Win和Tot。我的主要问题是传递两个不同的WHERE。
作为替代方式,我尝试了
SELECT "Currency Pair",
COUNT(CASE Pl WHEN Pl>0.01 THEN 1 ELSE NULL END) AS WIN,
COUNT(Pl) AS Total FROM data WHERE ABS(Pl)>0.01
GROUP BY "Currency Pair";
但是虽然总数是正确的,但我在胜利专栏上有零