我正在尝试将一些jQuery
图表放在一起,以表示系统中给定消息状态的百分比数字。因为,有10%的消息尚未被读取等。
我可以使用它来获取每种类型的所有消息的数据集:
SELECT MessageStatus, count(*) * 100.0 / sum(count(*)) over() As Percentage
FROM TableA
group by MessageStatus
产生:
2 7
3 84
5 7
因此,7%的消息都是消息类型2等等。
现在,只要我输入where子句,无论是特定的messageStatus还是日期范围,它总是以100%返回messageStatus。例如
SELECT MessageStatus, count(*) * 100.0 / sum(count(*)) over() As Percentage
FROM TableA
WHERE MessageStatus = '3'
group by MessageStatus
是否可以获取特定消息类型的所有消息的百分比?使用消息类型,是1-10的int。
答案 0 :(得分:2)
一种选择是使用子查询:
select *
from (
select MessageStatus, count(*) * 100.0 / sum(count(*)) over() As Percentage
from TableA
group by MessageStatus
) t
where messagestatus = '3'
答案 1 :(得分:1)
另一种方法是使用子查询:
SELECT MessageStatus,
count(*) * 100.0 / (select count(*) from TableA)
FROM TableA
WHERE MessageStatus = '3'
GROUP BY MessageStatus;