-1

ID を使用してテーブルを昇順で並べ替える SQL ステートメントがありますが、これを行うと、テーブルは次のように表示されます。

c-10
c-12
c-12
c-24
c-5
c-6
c-80
c-800
c-8000

これは、上位のいくつかと下位のいくつかが順番に並んでいることを示していますが、他の部分はそうではありません. どうしてこれなの?テーブル内の他のフィールドで並べ替えてみたところ、問題ないように見えたので、この列だけです。これは入力エラーか何かであると思いますか?

助けてくれて本当にありがとうございます!

4

2 に答える 2

1

順序は問題ありません。SQL は文字列を字句順に並べ替えます。

2 (c-24) は 5 (c-5) の前に来るので、そのようにソートされます。

このような文字列を数値順に並べ替えたい場合は、先頭にゼロを追加します。

c-0010 c-0012 c-0012 c-0024 c-0005 c-0006 c-0080 c-0800 c-8000 は、必要に応じてソートされます。

于 2013-04-07T19:51:09.267 に答える