Mysql查詢語句排序
在程序開發過程中,客戶提出了一個難解的問題
如圖所示,上面的數據格式爲a-b
要求排序方式是先按照a升序,再按照b升序
需要排序的自段位sort_name
SELECT
*
FROM
TABLE_NAME
ORDER BY
mid(
trim(sort_name),
1,
IF (
LOCATE('-', sort_name) <> 0,
LOCATE('-', sort_name),
2
) - 1
) * 1 ASC,
mid(
trim(sort_name),
IF (
LOCATE('-', sort_name) <> 0,
LOCATE('-', sort_name),
2
) + 1,
IF (
LOCATE('(', sort_name) <> 0,
LOCATE('(', sort_name) - LOCATE('-', sort_name) - 1,
LENGTH(sort_name) - LOCATE('-', sort_name)
)
) * 1 ASC