2017-01-28 8 views
0

это можно заказать в первой колонке, какпорядок MySQL по столбцам в первой колонке

выберите * из таблицы, где ........ заказ по цене по алфавиту и расстояние, расстояние

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 и порядок на расстоянии в пределах p рис. как мог выглядеть этот запрос? спасибо за любую помощь :)

так вот что я хочу;

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... 

ответ

0

используя заказ например выберите * от заказа цена по возрастанию или выберите * от порядка цен по алфавиту

до вас

+0

хорошо спасибо, но это обычный порядок, но мне нужно заказать расстояние в пределах цены> 0, а затем расстояние с ценой = 0 – Janus

+0

попробуйте посетить этот https://dev.mysql.com/doc/refman/5.7/en/order-by-optimization.html – Gangga

0

Как о создании вычисляемого столбца для сортировки по :

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