mysql 排序解决方法

WBOY
WBOYオリジナル
2016-06-13 10:04:061030ブラウズ

mysql 排序
2009-10
2009-8
2009-10+2
10021-8

我想排成這樣,“—”前面的按字符由小到大排序,“—”後面的按數字由小到大排列
10021-8
2009-8
2009-10
2009-10+2

------解决方案--------------------
SELECT substring( fld1, 1, (
instr( fld1, '-' ) -1 )
) AS fld1, substring( fld1, (
instr( fld1, '-' ) +1 )
) AS fld2
FROM `table1`
ORDER BY fld1 ASC , fld2 ASC

外面那层select不要也可以
这样的话,数据量大应该也没问题吧
------解决方案--------------------

引用我想排成這樣,“—”前面的按字符由小到大排序,“—”後面的按數字由小到大排列
10021-8
2009-8
2009-10
2009-10+2
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。