【发布时间】:2015-01-16 22:25:48
【问题描述】:
是否有可能在不使用子查询的情况下仅使用按列(日期)排序的其他表中的一行进行 LEFT JOIN。我的查询如下。它可以工作,但速度非常慢。
SELECT * FROM clients c
LEFT JOIN loan l ON c.id = l.id_client AND l.id = (
SELECT id FROM loan ll
WHERE ll.id_client = c.id
ORDER BY `create_date` DESC
LIMIT 1)
GROUP BY k.id DESC
ORDER BY c.register_date DESC
LIMIT n , m; (n,m is from pagination)
有没有办法加快速度?
【问题讨论】:
-
使用连接代替
AND l.id=subquery。 EXPLAIN 计划和表定义的结果也会有所帮助。 -
你的数据是什么样的?
-
好的,但是我怎样才能限制1条记录只有一个加入?稍后我将粘贴我的表 def,因为现在我无权访问。目前:客户有很多贷款,那么如何只加入一行?
标签: mysql sql subquery left-join