First と Last の 2 つのフィールドに基づいて、エントリをアルファベット順に並べ替えたいと考えています。
両方のフィールドのドメインはCHAR(30)
. どちらのフィールドもキーではありません。
例として、次の表を使用しています。
Last First
Banner Bruce
Wayne Bruce
Wayne Benjamin
Kent Clark
Rodgers Steve
Jordan Hal
Stark Tony
Howlett Logan
次に、次の SQL ステートメントを使用します。これは、ここ(最後の例を参照) に従って、有効な SQL ステートメントであり、姓でソートし、次に名のサブソートを行う必要があります。
SELECT * FROM Heros ORDER BY Last ASC, First ASC;
私が探している結果は次のとおりです。
Last First
Banner Bruce
Howlett Logan
Jordan Hal
Kent Clark
Rodgers Steve
Stark Tony
Wayne Benjamin
Wayne Bruce
代わりに私は得る:
Last First
Banner Bruce
Howlett Logan
Jordan Hal
Kent Clark
Rodgers Steve
Stark Tony
Wayne Bruce
Wayne Benjamin
基本的に、最後の 2 行は姓で並べ替えられた後、名で並べ替えられません。返された行が期待どおりに並べられていない理由がわかりません。SQlCommands.net の他に、dev.mysql.com を見ました。スタック オーバーフローのいくつかのトピックで、SQL ステートメントがこの構文とほとんど同じであるという回答が提案されていました。私が欠けているものについての考えは非常に高く評価されます。