mysql pivot不计算日期列

mysql pivot不计算日期列,mysql,pivot,Mysql,Pivot,我希望有人能帮我看穿这个一直在另一个数据库上工作但现在失败的查询 下面是一个数据透视表,数据源在左边,月份从左到右,除了一列拒绝统计外,其他都可以正常工作 Count(l.CompDate)As Submitted输出与Count(l.id)As Leads相同的数字,l.CompDate字段是一个基于日期的列,如果该列中有日期但没有,则只计算所有记录 谁能看出我哪里出了问题?我已经做了好几天了 Select *, If(q.Source Is Null, 1, 0) As remove F

我希望有人能帮我看穿这个一直在另一个数据库上工作但现在失败的查询

下面是一个数据透视表,数据源在左边,月份从左到右,除了一列拒绝统计外,其他都可以正常工作

Count(l.CompDate)As Submitted
输出与
Count(l.id)As Leads
相同的数字,
l.CompDate
字段是一个基于日期的列,如果该列中有日期但没有,则只计算所有记录

谁能看出我哪里出了问题?我已经做了好几天了

Select *,   If(q.Source Is Null, 1, 0) As remove From  
(Select l.Source,      
Sum(Month(l.CompDate) = 1) As Jan, 
Sum(Month(l.CompDate) = 2) As Feb,
Sum(Month(l.CompDate) = 3) As Mar,       
Sum(Month(l.CompDate) = 4) As Apr,      
Sum(Month(l.CompDate) = 5) As May,       
Sum(Month(l.CompDate) = 6) As Jun,       
Sum(Month(l.CompDate) = 7) As Jul,       
Sum(Month(l.CompDate) = 8) As Aug,       
Sum(Month(l.CompDate) = 9) As Sep,       
Sum(Month(l.CompDate) = 10) As Oct,       
Sum(Month(l.CompDate) = 11) As Nov,       
Sum(Month(l.CompDate) = 12) As Decb,
Count(l.id) As Leads,
Count(l.CompDate) As Submitted,
ROUND(Count(l.id)*100 / (Count(l.CompDate)), 2) As Conversion
From       tbl_lead l     
Where       Year(l.LeadDate) = 2015     
Group By  l.Source With Rollup) q
表达方式:

Count(l.CompDate) As Submitted,
做你想表达的事情。它正在计算
l.CompDate
非空值

不清楚你想要什么。如果需要不同日期值的数量,则可以使用以下方法之一:

Count(distinct l.CompDate) As Submitted,

Count(distinct date(l.CompDate)) As Submitted,

你好,谢谢。此表有6条记录,因此“作为线索的计数(l.id)”正确输出6条。“Count(l.CompDate)As Submitted”中只有3条记录的值,样本表中的这些记录具有相同的日期值,但其计数为表中记录总数的6,而不是具有日期值的列?理想情况下,这应显示6条导线| 3Submitted@GaryBrett . . . 因此,
计数(不同)
。你试过答案吗?