简化我正在解决的问题,但我认为以下是它的要点:
我有两个表(TableA 和 TableB),由 LEFT JOIN 连接。
我需要按时间倒序从 TableA 中获取 10 条记录;但是这十个结果中的每一个都在 TableB.foo 中具有唯一值。
IE
A.id 是 1,A.date 是两天前,B.foo 是“猫”。
A.id 是 2,A.date 是昨天,B.foo 是“猫”。
A.id 是 3,A.date 是今天,B.foo 是“狗”。
A.id 是 4,A.date 是三天前,B.foo 是“猪”。
A.id 是 5,A.date 是四天前,B.foo 是“狗”。
我希望查询的前 3 个结果是 3、2、4(并且根本不返回 1 和 5)。
这可以在单个 MySQL 查询中实现吗?
如果做不到这一点,那么在多个步骤中获得所需结果集的最有效策略是什么?