- 次のようなデータを種類別に並べ替えたい。
- 並べ替えの条件は複数指定したい。
- 果物 -> 野菜 -> 魚
- 野菜 -> 果物 -> 魚
- 魚 -> 野菜 -> 果物
| 名称 | 種類 |
|---|---|
| りんご | 果物 |
| バナナ | 果物 |
| もも | 果物 |
| キューリ | 野菜 |
| キャベツ | 野菜 |
| サンマ | 魚 |
| 鯛 | 魚 |
| イワシ | 魚 |
次のように種類を数値化すれば並べ替えができるが..
- データは増えていくので、都度順序のマッピングが必要
- 指定したい順序毎にカラムを用意する必要がある。
| 名称 | 種類 | 順序1 | 順序2 |
|---|---|---|---|
| りんご | 果物 | 1 | 2 |
| バナナ | 果物 | 1 | 2 |
| もも | 果物 | 1 | 2 |
| キューリ | 野菜 | 2 | 1 |
| キャベツ | 野菜 | 2 | 1 |
| サンマ | 魚 | 3 | 3 |
| 鯛 | 魚 | 3 | 3 |
| イワシ | 魚 | 3 | 3 |
次のように順序を別テーブルにして持つようなことは可能か?
| 名称 | 順序1 | 順序2 | 順序3 |
|---|---|---|---|
| 果物 | 1 | 2 | 3 |
| 野菜 | 2 | 1 | 2 |
| 魚 | 3 | 3 | 1 |
※ 問題を簡略化していますが、実際には -sortby column_1,column2,colum3のように複数のソート条件をしていしたいと思っています。