我如何order by
破折號?MySQL:如何通過( - )破折號
舉例來說,我有下面這些數據,
page_id url
1 - a
2 - b
3 --- c
4 --- d
5 - e
6 - f
7 -- g
8 -- h
結果是我後,
page_id url
1 - a
2 - b
5 - e
6 - f
7 -- g
8 -- h
3 --- c
4 --- d
如果我這樣做,
ORDER by x.url ASC
我仍然得到這一點,
page_id url
1 - a
2 - b
3 --- c
4 --- d
5 - e
6 - f
7 -- g
8 -- h
有什麼建議嗎?
編輯:
我實際的SQL,
SELECT
*,
IF(grandparentURL REGEXP '^[a-z0-9\-]+$', CONCAT('--- ', url), IF(parentURL REGEXP '^[a-z0-9\-]+$', CONCAT('-- ', url), CONCAT('- ', url))) AS url
FROM
(
SELECT
p.page_id,
p.url,
p2.url AS parentURL,
p3.url AS grandparentURL
FROM page AS p
LEFT JOIN page AS p2
ON p.parent_id = p2.page_id AND p.page_id != p2.page_id
LEFT JOIN page AS p3
ON p2.parent_id = p3.page_id AND p2.page_id != p3.page_id
WHERE IF('5' REGEXP '^[0-9]+$', p.page_id != '5', p.page_id IS NOT NULL)
AND p.url != 'cms'
) x
ORDER by x.url ASC
似乎類似:MySQL的計數子串的情況下,則順序按...](http://stackoverflow.com/questions/5427467/mysql-count-instances-of-substring-then-order-通過)。 – Sampson
你如何定義你的列?我根本沒有得到這個結果。我得到你想要的。看到這裏:http://sqlfiddle.com/#!2/51638/1 –
@MikeRyan - 我不知道,請參閱我的編輯我的實際查詢。謝謝。 – laukok