我需要构建一个 MySQL 查询,在其中我可以根据一个或多个列值将结果分组在一起,然后返回该组中匹配某些条件的完整记录。
以下表为代表我的数据:
| ID | NAME | Editor | Modified date | Type |
| 1 | doc1 | Smith | 2012-01-01 | A |
| 2 | doc2 | Smith | 2012-03-03 | A |
| 3 | doc1 | Jones | 2012-10-10 | A |
| 4 | doc1 | Scott | 2011-01-01 | A |
| 5 | doc2 | Boyd | 2013-01-01 | A |
| 6 | doc3 | Smith | 2010-01-01 | B |
| 7 | doc4 | Smith | 2010-03-03 | B |
| 8 | doc3 | Jones | 2010-10-10 | B |
| 9 | doc3 | Scott | 2009-01-01 | B |
| 10 | doc4 | Boyd | 2011-01-01 | B |
我想返回与任何文档相关的最近修改的记录,即。
| ID | NAME | Editor | Modified date | Type |
| 3 | doc1 | Jones | 2012-10-10 | A |
| 5 | doc2 | Boyd | 2013-01-01 | A |
| 8 | doc3 | Jones | 2010-10-10 | B |
| 10 | doc4 | Boyd | 2011-01-01 | B |
或最近修改的与 A 类有关的记录
| ID | NAME | Editor | Modified date | Type |
| 3 | doc1 | Jones | 2012-10-10 | A |
| 5 | doc2 | Boyd | 2013-01-01 | A |
我已经尝试过 GROUP BY 和 HAVING,据我所知,他们不会返回整个记录。
附录:可能是我需要将“最近”限定符更改为“在给定日期之前”