SQL Divide by Two Count()(SQL 除以二 Count())

本文介绍了SQL 除以二 Count()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have the following query, which is trying to figure out the percentage of a certain product compared to the total number of products. IE: [Product Count] / [Total Products] = Percent

;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查询合二为一?

However, the percent column always returns "0" unless there is only one record. In addition, is there a way to add the totalCount and Select query into one?

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

Basically, how do you divide two Count() fields?

推荐答案

将您的总数作为除整数之外的数字(DECIMAL?) - 数学四舍五入.

Cast your total count as a number besides integer (DECIMAL?) - the math rounds off.

这篇关于SQL 除以二 Count()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!