私のような記録があります
A5
A4
Z1
B2
C7
C1A
C11A
B1
B4
このように並べ替えてほしい
A4
A5
B1
B2
B4
C1
C11A
C7
Z1
ORDER BY
句。
アルファベット順に並べ替えてから、数値順に並べ替えてください。
あなたの要求のために:
アルファベット順、次に数値順
私はあなたがしたい(あなたのサンプルデータから派生した)と思いますORDER BY
:
text
として扱われる最初の文字。
integer
として扱われる最初の数値(連続する数字)。
text
として扱われる、残りの結合を解除する文字列全体。必要な場合とそうでない場合があります。
SELECT *
FROM tbl
ORDER BY left(col, 1) -- 1st letter as text
, substring(fest, '\d+')::int NULLS FIRST -- first number in string as int
, col -- whole columns as cheap tiebreaker
詳細: