有一个包含数据的表格文档,如下所示:
Id member_id type date
-----------------------------
1 5 1 2019-07-16
2 4 1 2019-07-12
3 5 2 2019-07-15
4 5 3 2019-07-16
5 3 1 2019-07-14
6 4 2 2019-07-16
7 5 1 2019-07-12
8 4 2 2019-07-13
我正在尝试从特定的member_id 中检索最后一种日期为的每种类型中的一种。
我已经尝试了以下方法作为Retrieving the last record in each group - MySQL的解决方案,但它没有按member_id进行过滤,而是显示所有成员中每种类型的最后一个:
SELECT d1.*
FROM document d1
LEFT OUTER JOIN document d2
ON (d1.type = d2.type AND d1.date < d2.date)
WHERE d2.type IS NULL
我期望输出(如果要通过member_id = 5进行过滤):
Id member_id type date
-----------------------------
1 5 1 2019-07-16
3 5 2 2019-07-15
4 5 3 2019-07-16
但实际输出是:
Id member_id type date
-----------------------------
1 5 1 2019-07-16
4 5 3 2019-07-16
6 4 2 2019-07-16
我正在使用教义,因此,如果有任何可以传递给DQL或教义查询构建的解决方案,我将不胜感激。