6

次の結果があるとします。

Mackay
Mackay Airport
Melbourne
Melbourne Airport
Sydney
Sydney Ac
Sydney Airport

常に空港が一番上に表示されるようにするにはどうすればよいですか? アルファベット順、例:

Mackay Airport
Mackay
Melbourne Airport
Melbourne
Sydney Airport
Sydney
Sydney Ac

空港をより目立つようにする方法について少し混乱しています。

4

3 に答える 3

1

整数と文字列で同時に注文することはできないようですが、「空港」が存在するかどうかに基づいて、注文する文字列を導出できます。ばかげていますが、機能します:

ORDER BY IF(name NOT LIKE '% Airport', CONCAT(name, ' Birport'), name)
于 2013-02-20T00:32:05.070 に答える
0

次のクエリは、期待される出力を提供します(クエリは複雑ですが)。

SELECT t.name
FROM (
SELECT @num := IF(@num IS NULL, 1, @num+1) AS number, name
FROM places
ORDER BY IF ((name LIKE '% Airport'), SUBSTRING(name, 1, LOCATE(' Airport', name) - 1), name)     DESC) t
ORDER BY t.number DESC;

これが例です。

http://www.sqlfiddle.com/#!2/117b7/80

于 2013-02-20T03:08:03.017 に答える