`ORDER BY`和`LIMIT`结合`JOIN`

时间:2013-06-18 21:38:38

标签: mysql sql sql-order-by limit

我有一个像这样的SQL语句:

$sql = "SELECT *, films.category AS filmCategory FROM films LEFT OUTER JOIN items ON items.unique = films.ref ORDER BY unique ASC LIMIT 0, 4";

不起作用。它没有ORDER BYLIMIT部分,如下所示:

$sql = "SELECT *, films.category AS filmCategory FROM films LEFT OUTER JOIN items ON items.unique = films.ref";

我似乎无法找到添加ORDER BYLIMIT的方法来仅获取films表中的前4个项目。之后,连接部分只能从另一个表中获取这四个项目的更多信息。它是如何以正确的方式完成的?

1 个答案:

答案 0 :(得分:2)

如果要限制特定表,则必须使用子查询。

SELECT *, films.category AS filmCategory
FROM (SELECT *
      FROM films
      ORDER BY ref ASC
      LIMIT 4) films
LEFT OUTER JOIN items
ON items.`unique` = films.ref
ORDER BY `unique` ASC