mysql按第一列中的列顺序排序

时间:2017-01-28 10:10:40

标签: php mysql sql-order-by multiple-columns distance

可以在第一列中订购,如

选择* FROM table where ........按价格desc和距离,距离

订购
price holds values
0, 10, 24, 30 ...
and distance are values out of the lon/lat calculation. and now it displays it like this:

    value1(price=30) ... 19,8km
    value2(price=24) ... 8,2km
    value3(price=10) ... 48km
//and then it starts with the entries in which price is 0 with the correct distance order
    value4(price=0) ... 1,20km
    value5(price=0) ... 1,28km
    value6(price=0) ... 2,74km
    and so on...

和我想要的是,在价格为>的范围内。 0它应首先显示它们但是距离作为顺序方法,然后是价格= 0和距离

的那些

所以基本上它应该忽略价格本身,只是价格> 0之前的0,并按价格内的距离排序。该查询怎么样?谢谢你的帮助:))

所以这就是我想要的;

value2(price=24) ... 8,2km
value1(price=30) ... 19,8km
value3(price=10) ... 48km
value4(price=0) ... 1,20km
value5(price=0) ... 1,28km
value6(price=0) ... 2,74km
and so on...

2 个答案:

答案 0 :(得分:0)

使用order by 例 通过asc从价格订单中选择* 要么 从desc的价格订单中选择*

由您决定

答案 1 :(得分:0)

如何创建要排序的计算列:

SELECT *, IF(price > 0, 0, 1) AS pricegtzero FROM table WHERE........ ORDER BY pricegtzero, distance