[解決済み] MySQL 'Order By' - 英数字を正しくソートする。
2023-06-07 08:41:31
質問
以下のデータ項目を表示順(1~12番)に並べ替えたい。
1 2 3 4 5 6 7 8 9 10 11 12
しかし、私のクエリでは
order by xxxxx asc
を使用している私のクエリは、何よりも最初の桁でソートします。
1 10 11 12 2 3 4 5 6 7 8 9
もっと正しくソートするためのコツはありますか?
さらに、完全な情報公開のために、これは文字と数字の混合である可能性があります(今はそうではありませんが)、例えば。
A1 534G G46A 100B 100A 100JE
etc....
ありがとうございました。
更新:クエリを要求する人々
select * from table order by name asc
どのように解決するのですか?
人々はこれを行うには、さまざまなトリックを使用します。私はグーグル、それぞれ異なるトリックに従ういくつかの結果を見つける。それらを参照してください。
編集する。
私はちょうど将来の訪問者のために各リンクのコードを追加しました。
与えられた入力
1A 1a 10A 9B 21C 1C 1D
期待される出力
1A 1C 1D 1a 9B 10A 21C
クエリ
Bin Way
===================================
SELECT
tbl_column,
BIN(tbl_column) AS binray_not_needed_column
FROM db_table
ORDER BY binray_not_needed_column ASC , tbl_column ASC
-----------------------
Cast Way
===================================
SELECT
tbl_column,
CAST(tbl_column as SIGNED) AS casted_column
FROM db_table
ORDER BY casted_column ASC , tbl_column ASC
与えられた入力
表:sorting_test -------------------------- ------------- | 英数字 VARCHAR(75) | 整数 INT -------------------------- ------------- | test1 | 1 | test12 | 2 | test13 | 3 | test2 | 4 | テスト3|5 -------------------------- -------------
期待される出力
-------------------------- -------------
| alphanumeric VARCHAR(75) | integer INT |
-------------------------- -------------
| test1 | 1 |
| test2 | 4 |
| test3 | 5 |
| test12 | 2 |
| test13 | 3 |
-------------------------- -------------
クエリ
SELECT alphanumeric, integer
FROM sorting_test
ORDER BY LENGTH(alphanumeric), alphanumeric
与えられた入力
2a, 12, 5b, 5a, 10, 11, 1, 4b
期待される出力
1, 2a, 4b, 5a, 5b, 10, 11, 12
クエリ
SELECT version
FROM version_sorting
ORDER BY CAST(version AS UNSIGNED), version;
これが役に立つといいのですが
関連
-
[解決済み】MySQLで「すべての派生テーブルは独自のエイリアスを持つ必要があります」というエラーは何ですか?
-
[解決済み】MySQLのエラーコードです。MySQL WorkbenchでUPDATE中に1175のエラーが発生しました。
-
[解決済み] MySQLでdatetimeとtimestampのどちらのデータ型を使用すべきですか?
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] LINQで複数の "order by "を使用する
-
[解決済み] MySQLのAUTO_INCREMENTをリセットする方法
-
[解決済み] MySQLの複数行を1つのフィールドに連結することはできますか?
-
[解決済み] MySQLでコマンドラインを使用してユーザーアカウントのリストを取得するにはどうすればよいですか?
-
[解決済み] MySQLのクエリ結果をCSV形式で出力するにはどうすればよいですか?
-
[解決済み] ブーリアン値を格納するために使用するMySQLデータ型
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
mysqlにおけるvarcharの日付比較とソートの実装
-
MySQLとOracleの一括挿入SQLの汎用的な記述例
-
MySQLのNULLについて解説した記事
-
Mysqlデータベースの手動および定期的なバックアップ手順
-
MySql認証ベースのvsftpd仮想ユーザー
-
'INSERT文はFOREIGN KEY制約「FK_TourismReservation_Users」と競合していました。その
-
[解決済み] ユーザー 'root'@'localhost' (パスワード: YES を使用) のアクセス拒否 - 特権がない?
-
[解決済み] INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOINの違いは何ですか?[重複しています]。
-
[解決済み] MySQL で特定のカラム名を持つすべてのテーブルを見つけるにはどうすればよいですか?
-
[解決済み] MySQLのナチュラルソート