如何计算 SQL 中的胜率?
How to calc Win Rate in SQL?
我正在尝试计算 SQL 中以下 table 的胜率,但没有得到正确答案
我要找的是WON = 1111/1496*100
到目前为止我有
SELECT Sum( Status = 'Won') /(Select Count(Status))*100 as Win_rate
FROM table
如果我 运行 以上它给我 0
.
你的问题是整数除法。除法的两个操作数都是整数,所以 SQLite 强制一个整数结果。典型的解决方法是强制十进制上下文,例如:
SELECT 100.0 * sum(Status = 'Won') / Count(*) as Win_rate FROM mytable
不过这里用avg()
更简单:
SELECT avg(Status = 'Won') * 100 as Win_rate
FROM mytable
我正在尝试计算 SQL 中以下 table 的胜率,但没有得到正确答案
我要找的是WON = 1111/1496*100
到目前为止我有
SELECT Sum( Status = 'Won') /(Select Count(Status))*100 as Win_rate
FROM table
如果我 运行 以上它给我 0
.
你的问题是整数除法。除法的两个操作数都是整数,所以 SQLite 强制一个整数结果。典型的解决方法是强制十进制上下文,例如:
SELECT 100.0 * sum(Status = 'Won') / Count(*) as Win_rate FROM mytable
不过这里用avg()
更简单:
SELECT avg(Status = 'Won') * 100 as Win_rate
FROM mytable