1. ホーム
  2. sql

[解決済み] SQLでデータを3つのアルファベット順のサブグループに分類するには?

2022-03-09 09:09:45

質問

学校の先生の生徒データをSQLで表示しているのですが、ユーザビリティの観点から、アルファベットの3つのサブセットでデータセットを分割し、その中で普通にソートして表示させる必要があります。

このようなものが吐き出されるはずです。

姓A-F、期間順、姓の順でソートしています。

名字 G-O (ピリオド順、ラストネーム順)

姓 P-Z (ピリオド順、ラストネーム順

現在、かなりシンプルに期間と姓でソートされており、3種類のクエリでそのようにデータを分割できるのですが、1つで全て行う方法が分かりません。

SELECT * FROM Student ORDER BY per, last;

解決方法は?

の条件式をお探しですか? order by ?

order by (case when last < 'G' then 1
               when last < 'P' then 2
               else 3
          end),
         per, last