1

我已经查看了有关我的问题的其他问题/答案,但由于某种原因,每次我尝试准确地实现答案时,都会引发错误。但是我现在正在对一些东西进行分页,我需要在另一个表中按列对结果进行排序。

这是我现在拥有的代码:

SELECT `id`,`name`,`players`,`max_players`,`status`,`host`,`port` 
  FROM `servers` 
 LIMIT :to,:from

它从中获取内容的表是servers表,它需要rankserver_profiles表中获取列,并按此排序。我试图了解 MySQL 连接是如何工作的,但它们似乎总是让我感到困惑,从查看示例到阅读 MySQL wiki 上的标记。

4

1 回答 1

2

您可以为此使用 join 。为此,您需要在两个表之间建立关系。例如我用过server.ID = server_profiles.serversID

SELECT s.* FROM servers s
  JOIN server_profiles sp
    ON s.ID = sp.serversID
 ORDER BY sp.rank
 LIMIT :to,:from

看到这个 SQLFiddle

于 2013-09-07T05:36:26.750 回答