Mysql交叉表查询计数百分比?
早上好,是否可以从交叉表查询中计算出2个计算列的百分比,我的缩减查询如下Mysql交叉表查询计数百分比?,mysql,Mysql,早上好,是否可以从交叉表查询中计算出2个计算列的百分比,我的缩减查询如下 Select a.ContactFullName As Adviser, Sum(Month(b.CaseDate) = 1) As Jan, Sum(Month(b.CaseDate) = 2) As Feb, Sum(Month(b.CaseDate) = 3) As Mar, Count(b.CaseID) As Total, Count(b.StatusSubmittedDate) As C
Select
a.ContactFullName As Adviser,
Sum(Month(b.CaseDate) = 1) As Jan,
Sum(Month(b.CaseDate) = 2) As Feb,
Sum(Month(b.CaseDate) = 3) As Mar,
Count(b.CaseID) As Total,
Count(b.StatusSubmittedDate) As Comms
From
tblcontacts a Inner Join
tblcases b On a.ContactID = b.ContactAssignedTo
Group By
a.ContactFullName With Rollup
这是将月份作为列输出,显示每个月的案例,总计列统计行,而Comms列仅统计带有日期的案例。我想做的是计算总数/通信的百分比
Total | Comms | %_Share
100 | 50 | 50%
346 | 53 | 15%
278 | 89 | 32%
我是否以错误的方式看待问题,是否应该创建多个查询来实现
感谢您的浏览只需选择另一列:
Select …,
100*Count(b.StatusSubmittedDate)/Count(b.CaseID) As `%_Share`
From …
这是100*Comms/Total,是您预期输出的方式,而不是您在文本中所写的Total/Comms
据我所知,直接重用一个计算列来计算另一个计算列中的值是不可能的。但是重复计算
计数的开销应该不会太大,也许MySQL甚至会检测到这样的常用术语,并且只计算一次,我不知道。太棒了,我需要的正是我所需要的。非常感谢您的时间,就在这里。