両方の数字を含む列 (x) を持つテーブルがあります。私が使うとき
ORDER BY x DESC
文字を含むフィールドを一番上に配置します。文字を含むフィールドを最小値として扱うようにするにはどうすればよいですか?
で case ステートメントを使用できますorder by
。
order by (case when left(x, 1) between '0' and '9' then 0 else 1 end),
x desc
編集:
上部に文字を含むフィールドが必要な場合:
order by (case when x like '%[a-zA-Z]%' then 0 else 1 end),
x desc;
上部に文字のみを含むフィールドが必要な場合:
order by (case when x not like '%[^a-zA-Z]%' then 0 else 1 end),
x desc;
下部に数字のみを含むフィールドが必要な場合:
order by (case when x not like '%[^0-9]%' then 1 else 0 end),
x desc;
ORDER BY x+0 DESC - 動作するはずです
select * from Table1 order by
CAST(x AS UNSIGNED),x;