查找数据的百分比
Posted
技术标签:
【中文标题】查找数据的百分比【英文标题】:Finding % of Data 【发布时间】:2016-03-27 02:51:22 【问题描述】:这就是我的桌子的样子
Measure PT Name
Expired Mickey Mouse
Expired Donald Duck
Alive Big Bird
Alive Baby Bird
Rehab Daffy Duck
Xray Goofy
我希望它看起来像这样:
Measure Count %
Expired 15 40%
Alive 5 13%
Rehab 7 18%
Xray 10 27%
我犯了一个错误,我想得到一个按 Measure
分组的计数,包括同一 SQL 语句中的 % all
Select DischargeDisp, Count(*) as TotalCnt
INTO #Measure
from #LOS
group by DischargeDisp
【问题讨论】:
这是在 Excel 中吗?到目前为止,您尝试过什么? 对不起,这是在 SQL 中 sql语句到目前为止你有什么? 我有第一部分,但我似乎无法使用 % 对 Measure 进行分组 我也有按度量分组,但我想同时包含 % 【参考方案1】:select Measure
,SUM(m_count) m_count
,(sum(m_count)*100/(select sum(m_count) from your_table)) as Percentage
from your_table group by Measure;
将列名 count
更改为 m_count
。因为它会造成混乱。
【讨论】:
我搞错了,我没有列名 m_count 或 count 我想得到 m_count 和 %【参考方案2】:SELECT Measure,
SUM(Cnt) AS [Count],
CAST(SUM(Cnt) * 100 / (SELECT SUM(Cnt) FROM #LOS) AS VARCHAR(10)) + '%' AS [%]
FROM #LOS
GROUP BY Measure
【讨论】:
虽然此代码可能会回答问题,但提供有关 why 和/或 如何 此代码回答问题的附加上下文可提高其长期价值.【参考方案3】:这是你想要的吗?
Select Measure, Count(*), Count(*) * 100 / SUM ( COUNT (*) ) OVER()
from #LOS
group by Measure
【讨论】:
这为我提供了 % 但我还想计算 DischargeDisp 在查询中添加了 count(*)【参考方案4】:您的问题不断变化,但也许这会满足您的需求:
Select Measure, Sum(1) as 'Count', LTrim(Str(Sum(1) * 100 / (Select Count(*) From Measure))) + '%' as [Percent]
from Measure
Group by Measure
order by Measure
【讨论】:
【参考方案5】:你可以用这个:
select distinct Measure,
count(*) over (partition by measure) as [Count],
format(convert(float,count(*) over (partition by measure)) /count(*) over(),'p') as [%]
from los
测试是here
【讨论】:
以上是关于查找数据的百分比的主要内容,如果未能解决你的问题,请参考以下文章