与MySQL有点不同,并且不够熟练,无法理解我试图整理的语句的逻辑。
我有这个问题;
SELECT FORMAT(SUM(won/total*100),2) AS PCT FROM table_name WHERE Status='Current'
哪个工作正常可以返回所有记录总和的胜利%,但我希望按行返回结果?
基本上我想要实现的是每个行的胜利%
SELECT *
,但我不能将SELECT *与计算百分比结合使用。
或者我可以并且可能有逻辑错误,我不确定。
返回的结果类似于;
Manager | Win%
Arsene Wenger | 57.24%
Alex Ferguson | 48.02%
我错过了什么?
答案 0 :(得分:2)
尝试此查询:
SELECT Manager,FORMAT(SUM(won/total*100),2) AS PCT
FROM table_name
WHERE Status='Current'
GROUP BY Manager
如果你想要每个行
SELECT Manager,FORMAT((won/total*100),2) AS PCT
FROM table_name
WHERE Status='Current'
答案 1 :(得分:1)
答案 2 :(得分:1)
您必须按人的名称对行进行分组,例如
SELECT FORMAT(SUM(won/total*100),2) AS PCT FROM table_name WHERE Status='Current' group by manager ;