Tsql 数除以一个数

Tsql 数除以一个数,tsql,count,sum,Tsql,Count,Sum,如何将一个计数除以另一个计数。我见过一些不同的方法,但我无法让它们为我的目的发挥作用。我目前正在处理的代码是: Select(select COUNT(lUsers) FROM Tlocation WHERE dLastUpdated IS NOT NULL AND dRemovalDate BETWEEN DATEADD(day,-7,GETDATE()) and GETDATE()) /

如何将一个计数除以另一个计数。我见过一些不同的方法,但我无法让它们为我的目的发挥作用。我目前正在处理的代码是:

Select(select COUNT(lUsers) 
        FROM Tlocation
        WHERE dLastUpdated IS NOT NULL 
            AND dRemovalDate BETWEEN DATEADD(day,-7,GETDATE()) and GETDATE())
                /
            (SELECT COUNT(lUsers) 
        FROM Tlocation 
        WHERE dLastUpdated < GETDATE() 
            AND dRemovalDate IS NULL OR dRemovalDate > GETDATE())

但每次只返回0。

这是因为该值小于COUNT返回的INT。以下是您如何做到这一点:

SELECT
    (
        SELECT 1562 
    )
    /
    CAST(
        (
            SELECT 92825
        )
        AS DECIMAL(20, 10)
    )
;
或查询:

Select(select COUNT(lUsers) 
        FROM Tlocation
        WHERE dLastUpdated IS NOT NULL 
            AND dRemovalDate BETWEEN DATEADD(day,-7,GETDATE()) and GETDATE())
                /
            CAST(
                    (SELECT COUNT(lUsers) 
                FROM Tlocation 
                WHERE dLastUpdated < GETDATE() 
                    AND dRemovalDate IS NULL OR dRemovalDate > GETDATE())
            AS DECIMAL(20, 10)
            )
;

请单独运行每个子选择并检查它试图除以的值。这可能是因为顶部的子选择总是返回0Top返回1562,底部返回92825Oh。那么是小数。等一下:p