【问题标题】:mysql join and limitmysql加入和限制
【发布时间】:2009-09-10 08:15:55
【问题描述】:

我有一个主表页面和一个相对表 page_lang。在 page_lang 中我保存每种语言的页面数据。

使用上面的代码

SELECT * FROM pages as p
RIGHT JOIN pages_lang as l ON
l.pageID=p.pageID 

我从page_lang.All OK

中获取包含常用数据表单页面和语言数据的行

问题是当rty限制结果时

SELECT * FROM pages as p
RIGHT JOIN pages_lang as l ON
l.pageID=p.pageID
LIMIT 0,10

使用此查询,我希望选择页面的前 10 行,然后这些行返回语言数据。 例如,如果我有 2 种语言,则意味着返回 10 行 x 2 种语言 20 行。

当然查询不会返回 20 行,而只返回 10 行。

我正在寻找如何使用 1 个查询来执行此操作,因为我正在尝试计算每个页面上的查询以更快。

谢谢

【问题讨论】:

  • 用视图重构怎么样,或者用括号玩?

标签: mysql join limit


【解决方案1】:

这可能有效(未经测试):

SELECT * 
FROM 
    (SELECT * FROM pages LIMIT 0,10) p
    RIGHT JOIN 
    pages_lang as l 
ON l.pageID = p.pageID;

【讨论】:

  • 它的工作是。但是使用 2 SELECT 是 mysql 的一个查询或者是 2 个查询
  • 但不是很好我会尝试调整它
  • 2 SELECTs 仍然是一个查询。
猜你喜欢
  • 2019-04-29
  • 2015-06-11
  • 2013-04-07
  • 1970-01-01
  • 2016-03-18
  • 2018-01-08
  • 1970-01-01
  • 2011-01-10
  • 1970-01-01
相关资源
最近更新 更多