从数据库中,我试图找到在过去 X 天内更新的配置文件,并根据日期对它们进行分组。
我的 SQL 结构如下所示:
id (int)
date_modified (date)
这会产生如下结果:
+----+---------------+
| id | date_modified |
+----+---------------+
| 86 | 2012-06-22 |
| 87 | 2012-06-22 |
| 88 | 2012-06-22 |
| 89 | 2012-06-22 |
| 63 | 2011-10-31 |
| 72 | 2012-02-06 |
| 60 | 2011-10-17 |
| 71 | 2012-02-29 |
| 69 | 2011-11-18 |
| 76 | 2012-02-29 |
| 70 | 2011-11-18 |
| 75 | 2012-02-29 |
| 73 | 2012-02-06 |
| 74 | 2012-02-28 |
| 77 | 2012-02-29 |
| 80 | 2012-05-07 |
| 82 | 2012-06-12 |
| 83 | 2012-08-15 |
| 84 | 2012-09-07 |
| 85 | 2012-08-15 |
+----+---------------+
理想情况下,我想处理查询,使其产生如下结果:
+-------+----------+
| total | days_ago |
+-------+----------+
| 4 | 1 |
| 6 | 2 |
| 8 | 3 |
| 12 | 7 |
| 3 | 30 |
| 55 | 90 |
| 28 | 180 |
| 37 | 270 |
| 42 | 360 |
+----+-------------+
它将 date_modified 转换为几天前并按上面显示的增量对其进行分组。
我假设在选择查询中使用案例是可能的,但我对如何去做有点茫然。