在没有ORDER BY

时间:2016-06-14 22:36:44

标签: php mysql sql-order-by

问题在于:我希望我的数据以不同的方式排序,而不需要调用两次数据库。

示例:

SELECT data FROM costumers WHERE x ORDER BY budget, car, home

我需要以这种方式对这些数据进行排序,以便快速执行某些操作。

与此同时,我还需要相同的数据,但是:

ORDER BY home, budget, car

我可以重新排序php中的数据或对我的数据库进行第二次查询,但我希望有一种简单而快捷的方法可以使它与MySql一起使用。 (也许数据可以两种不同的方式获取)

提前致谢:)

(我第一次发帖,但不是第一次这个网站帮助我)

1 个答案:

答案 0 :(得分:0)

您可以在一个查询中执行此操作。 例如,如果我们有col1和col2。 col1包含字符串,col2包含数字

SELECT * FROM table
ORDER BY `col1` DESC, `col2` DESC

我们假设cols值为

  

(col1,col2):( b,3),(a,4),(c,1),(a,1)

在我们执行上面的查询后,它将按此顺序返回记录

  

(col1,col2):( a,1),(a,4),(b,3),(c,1)

注意:MySQL使用第一个arg的顺序比第二个更有效,依此类推。即使您可以通过这种方式排序三倍或更多,甚至也可以订购日期类型。