类似这个问题How does one perform math on multiple SELECT results?
不能让我的工作。
我想确定按时发送的货件的百分比。
为此,我知道我必须:
1) 选择发送的总货件。
Select COUNT(*) AS TotalShipments From tbl_LISC
2) 选择准时
发送的总货件Select COUNT(*) AS TotalOnTime From tbl_LISC WHERE tbl_LISC.LISC = 100
3) 将 2 个结果相除并乘以 100 ((TotalOnTime/TotalShipments)*100 )
以线程的回答为例我试过了
SELECT TotalShipped, TotalOnTime, TotalShipped/TotalOnTime as LISC
FROM (SELECT COUNT(Select *From tbl_LISC) AS TotalShipped,
COUNT(*) as TotalOnTime
FROM tbl_LISC
WHERE LISC = 0)
最佳答案
您真正的问题是整数与 float 学。当表达式的两个数字都是整数时,结果也将是一个整数:
select 2/3 -- 0
因此,为了保持小数精度,只需将表达式中的数字之一设为小数/浮点值:
select 2.0/3 -- 0.666666
所以,试穿这个尺寸:
select
sum(iif(tbl_LISC.LISC = 100, 1, 0)) as OnTime
,count(*) as Total
,sum(iif(tbl_LISC.LISC = 100, 1.0, 0.0)) / nullif(count(*), 0) as Percentage
from tbl_LISC as l
关于sql - 在 SQL 中对多个 SELECT 结果执行数学运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30134176/