SQL查询-以百分比表示的状态数
我的SR表中有一些状态记录(超过5条记录,这只是一个示例): 我想获取以下格式的表:SQL查询-以百分比表示的状态数,sql,db2,Sql,Db2,我的SR表中有一些状态记录(超过5条记录,这只是一个示例): 我想获取以下格式的表: STATUS PERCENTAGE NEW 20 OPEN 40 PENDING 40 我编写了SQL查询,但无法使其工作: with HELPTABLE as (select count(*) as NUMBER from SR ) select SR.STATUS, (count (*)) / (HELPTABLE.NUMBER) * 100 from
STATUS PERCENTAGE
NEW 20
OPEN 40
PENDING 40
我编写了SQL查询,但无法使其工作:
with HELPTABLE as
(select count(*) as NUMBER
from SR
)
select
SR.STATUS,
(count (*)) / (HELPTABLE.NUMBER) * 100
from
SR, HELPTABLE
group by
SR.status
使用帮助表,我得到结果5
如果我不把HELPTABLE.NUMBER
放进去,我会得到一些结果
如果我把(count(*)
)除以2,我得到的是结果,但如果我把HELPTABLE.NUMBER
除以5,我得到的是错误
谢谢您的帮助。我猜是SQL Server 2005或更高版本
select
T.STATUS, 100.0 * COUNT(*) / Total
from
(
SELECT
ID, STATUS, COUNT(*) OVER () AS Total
FROM
SR
) T
group by
T.status, T.Total
我猜是SQLServer2005或更高版本
select
T.STATUS, 100.0 * COUNT(*) / Total
from
(
SELECT
ID, STATUS, COUNT(*) OVER () AS Total
FROM
SR
) T
group by
T.status, T.Total
我正在使用DB2。我有一些奇怪的结果。我必须在你的问题上保留我的声明?谢谢你的帮助,它很有效。我只是想知道为什么我不能用语句来完成它?对我来说这似乎是正确的?很抱歉打扰您,如果您知道答案的话,如果不知道的话,您可能会给出正确的查询nevermind@user1191860:我不确定,对不起,我正在使用DB2。我有一些奇怪的结果。我必须在你的问题上保留我的声明?谢谢你的帮助,它很有效。我只是想知道为什么我不能用语句来完成它?对我来说这似乎是正确的?很抱歉打扰您,如果您知道答案的话,如果不知道的话,您可能会给出正确的查询nevermind@user1191860:对不起,我不确定