使用季度和日期分组时出现Mysql汇总问题

时间:2015-06-25 14:51:43

标签: mysql

我有这个简单的查询:

select quarter(invitation_date) as `iQuarter`, invitation_date as `iDate`,count(*) as count from data group by iQuarter,iDate with rollup

我希望得到一张这样的表:

+----------+------------+-------+
| iQuarter | iDate      | count |
+----------+------------+-------+
|        1 | 2010-02-23 |   133 |
|        1 | 2010-03-02 |    14 |
|        1 | 2010-03-09 |    74 |
|        1 | 2010-03-15 |   102 |
|        1 | 2010-03-22 |    76 |
|        1 | 2010-03-30 |    16 |
|     NULL | NULL       |   415 |
|        2 | 2010-04-06 |    20 |
|        2 | 2010-04-12 |    84 |
|        2 | 2010-04-19 |    85 |
|        2 | 2010-04-26 |    51 |
|        2 | 2010-05-03 |    73 |
|        2 | 2010-05-11 |    76 |
|        2 | 2010-05-18 |    54 |
|        2 | 2010-05-24 |    83 |
|        2 | 2010-06-01 |    73 |
|        2 | 2010-06-07 |    74 |
|        2 | 2010-06-24 |    81 |
|        2 | 2010-06-28 |   110 |
|     NULL | NULL       |   864 |
+----------+------------+-------+

但是我得到的总数处于错误的位置,在每个季度之前我们总共有一行与下一季度的计数为1。

+----------+------------+-------+
| iQuarter | iDate      | count |
+----------+------------+-------+
|        1 | 2010-02-23 |     1 |
|     NULL | NULL       |     1 |
|        1 | 2010-02-23 |   132 |
|        1 | 2010-03-02 |    14 |
|        1 | 2010-03-09 |    74 |
|        1 | 2010-03-15 |   102 |
|        1 | 2010-03-22 |    76 |
|        1 | 2010-03-30 |    16 |
|        2 | 2010-04-06 |     1 |
|     NULL | NULL       |   415 |
|        2 | 2010-04-06 |    19 |
|        2 | 2010-04-12 |    84 |
|        2 | 2010-04-19 |    85 |
|        2 | 2010-04-26 |    51 |
|        2 | 2010-05-03 |    73 |
|        2 | 2010-05-11 |    76 |
|        2 | 2010-05-18 |    54 |
|        2 | 2010-05-24 |    83 |
|        2 | 2010-06-01 |    73 |
|        2 | 2010-06-07 |    74 |
|        2 | 2010-06-24 |    81 |
|        2 | 2010-06-28 |   110 |
|        3 | 2010-07-06 |     1 |
|     NULL | NULL       |   864 |
+----------+------------+-------+

邀请日期定义为:

+-------------------+---------------------------+------+-----+---------------------+-------+
| Field             | Type                      | Null | Key | Default             | Extra |
+-------------------+---------------------------+------+-----+---------------------+-------+
| invitation_date   | date                      | NO   |     |                     |       |
+-------------------+---------------------------+------+-----+---------------------+-------+

任何人都知道为什么会发生这种情况? Mysql版本:5.0.27

0 个答案:

没有答案