如何计算 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