如何基于两个不同的列进行ORDER BY

时间:2009-09-15 17:22:48

标签: sql mysql

我有一个包含5列的表格。当我列出表格时,我想按一列排序,以便将类型组合在一起,然后按字母顺序排列,以便于查找。

两个不同的列可以ORDER吗?

这是我目前的选择:

$query_rs_cms = "SELECT * FROM games ORDER BY type ASC";

我想我正在寻找的是:

SELECT * 
   FROM games 
ORDER BY type THEN ORDER BY title ASC";

5 个答案:

答案 0 :(得分:26)

您可以通过列名称或返回的列号指定ORDER BY。

所以你可以这样做:

SELECT * FROM games ORDER BY Type, Title

或类似的东西:

SELECT Type, Title, Column1, Column2 FROM games ORDER BY 1, 2

你也可以做升序和降序。因此,如果您想要类型降序但升级标题:

SELECT * FROM games ORDER BY Type DESC, Title ASC

答案 1 :(得分:13)

SELECT * FROM games ORDER BY type, title

答案 2 :(得分:12)

  

ORDER BY type, title

您可以执行类似

的操作
  

ORDER BY type DESC, title ASC

如果你需要的话。

答案 3 :(得分:4)

您的订单可以采用逗号分隔的排序列表,类似于您的结果集。 例如:

select * from games order by type, entered_dt DESC, title ASC

答案 4 :(得分:1)

你看起来像这样:)

select * FROM games ORDER BY type, title