MySQL Inner Join with LIMIT到左表 [英] MySQL Inner Join With LIMIT to left table

查看:204
本文介绍了MySQL Inner Join with LIMIT到左表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这个数据库查询

SELECT *
FROM (`metadata` im)
INNER JOIN `content` ic ON `im`.`rev_id`  = `ic`.`rev_id`
WHERE `im`.`id` = '00039'
AND `current_revision` = 1
ORDER BY `timestamp` DESC
LIMIT 5, 5 

查询将结果中的总行数限制为5.我想将左侧表metadata限制为5,而又不限制整个结果集.

The query limits the total rows in the result to 5. I want to limit the left table metadata to 5 without limiting the entire result-set.

我应该如何编写查询?

推荐答案

如果您考虑要执行的操作,实际上并不是针对metadata进行选择.

If you think about what you are trying to do, you're not really doing a select against metadata.

您需要先对它进行子查询.

You need to sub query that first.

尝试:

SELECT *
FROM ((select * from metadata limit 5) im)
INNER JOIN `content` ic ON `im`.`rev_id`  = `ic`.`rev_id`
WHERE `im`.`id` = '00039'
AND `current_revision` = 1
ORDER BY `timestamp` DESC

这篇关于MySQL Inner Join with LIMIT到左表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆