我想知道以下是否可能,如果是,那么我将如何去做。假设我在 MySQL 表中有一堆具有一些相似值的条目。我定期GROUP BY
将它们组合成更具可读性的条目,但其中一列是时间值,每个条目都不同。我想要做的是为每个条目添加一列,该列是GROUP BY
语句的结果,其中包含进入组的所有条目的日期范围。例如,如果我有以下内容:
+------+------+------------+--------------------+
| id | name | work_date | daily_typing_pages |
+------+------+------------+--------------------+
| 1 | John | 2007-01-24 | 250 |
| 2 | Ram | 2007-05-27 | 220 |
| 3 | Jack | 2007-05-06 | 170 |
| 3 | Jack | 2007-04-06 | 100 |
| 4 | Jill | 2007-04-06 | 220 |
| 5 | Zara | 2007-06-06 | 300 |
| 5 | Zara | 2007-02-06 | 350 |
+------+------+------------+--------------------+
a 的结果GROUP BY name
是这样的:
+------+----------+
| name | COUNT(*) |
+------+----------+
| Jack | 2 |
| Jill | 1 |
| John | 1 |
| Ram | 1 |
| Zara | 2 |
+------+----------+
但我想要这样的东西:
+------+----------+-------------------------+
| name | COUNT(*) | DateRange |
+------+----------+-------------------------+
| Jack | 2 | 2007-04-06 - 2007-05-06 |
| Jill | 1 | 2007-04-06 |
| John | 1 | 2007-01-24 |
| Ram | 1 | 2007-05-27 |
| Zara | 2 | 2007-02-06 - 2007-06-06 |
+------+----------+-------------------------+
如果有人可以帮助解决这个问题,将不胜感激。谢谢你。