在SQLite中计算百分比

kse*_*een 5 sql sqlite

这是查询:

select
(
SELECT     COUNT(*)
FROM         Sending s
WHERE     (ConfID = 1) AND (Status = 1)
)
/
(
 (
 SELECT     COUNT(*)
 FROM         Numbers
 WHERE     (ConfID = 1)
 )
 /
 100
)
Run Code Online (Sandbox Code Playgroud)

我想计算百分比.例如,如果查询

SELECT     COUNT(*)
     FROM         Numbers
     WHERE     (ConfID = 1)
Run Code Online (Sandbox Code Playgroud)

给出100和另一个

 SELECT     COUNT(*)
    FROM         Sending s
    WHERE     (ConfID = 1) AND (Status = 1)
Run Code Online (Sandbox Code Playgroud)

结果50结果查询应该返回50,这意味着50%.但是第一个查询结果是2和第二个返回10000结果查询返回0.我想我应该定义以某种方式返回浮点数等.

谢谢!

Adr*_*iro 8

尝试除以100.0而不是100.这会强制转换为浮点数据类型:

select
(
SELECT     COUNT(*)
FROM         Sending s
WHERE     (ConfID = 1) AND (Status = 1)
)
/
(
 (
 SELECT     COUNT(*)
 FROM         Numbers
 WHERE     (ConfID = 1)
 )
 /
 100.0
)
Run Code Online (Sandbox Code Playgroud)