SQL 除以 2 计数()

标签 sql sql-server count

我有以下查询,它试图计算出某种产品占产品总数的百分比。 IE:[产品数量]/[产品总数] = 百分比

;WITH totalCount AS(
    SELECT 
        CAST(COUNT(id) as Integer)as totalCount
    FROM TABLE_NAME
)
SELECT 
    ((CAST(COUNT(DISTINCT id) as Integer)/(SELECT * FROM totalCount))*100) as 'Percent'
FROM TABLE_NAME

但是,百分比列始终返回“0”,除非只有一条记录。另外,有没有办法将totalCount和Select查询合二为一?

基本上,如何划分两个 Count() 字段?

最佳答案

将总计数转换为整数以外的数字(DECIMAL?) - 数学四舍五入。

关于SQL 除以 2 计数(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1127558/

相关文章:

mysql - 计算特定行 ID 的 NOT NULL 列数(查询)

c++ - C - 读取文件并计算行数和列数

SQL:在此查询中使用 "all"和 "min"的条件有何不同?

c# - 为什么同一存储过程调用会被多次触发

sql-server - SQL Server 脚本生成器 CAST 十六进制日期时间值

sql - 不可变的 SQL 列

sql - 如何在 Postgres 中使用别名创建嵌套 SELECT COUNT

mysql - SQL - Union 和 Order BY 的错误使用

c# - 返回特定列大小写时

sql - 在需要集合操作的 SQL Server 数据库中,如何设计更高的可扩展性?