按另一个表中的列排序表

时间:2013-09-07 05:30:06

标签: php mysql sql pdo

我已经查看了有关我的问题的其他问题/答案,但出于某种原因,每次我尝试实现答案的确切方式,它都会引发错误。但我现在正在对一些事情进行分页,我需要在另一个表格中按列排序我的结果。

以下是我现在的代码:

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

从中获取内容的表是servers表,它需要从rank表中获取列server_profiles,并按此顺序排序。我试着理解MySQL如何加入工作,但它们似乎总是让我感到困惑,从查看示例到阅读MySQL维基上的标记。

1 个答案:

答案 0 :(得分: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

请参阅this SQLFiddle