
在MYSQL中,我們知道每個ENUM值都與一個索引號碼相關聯。對 ENUM 值進行排序的基礎也是它們的索引號。此外,索引號取決於列舉成員在列規範中列出的順序。例如,在 ENUM (‘GOOD’, ‘EXCELLENT’) 欄位中,‘GOOD’ 排在‘EXCELLENT’之前。換句話說,我們可以說“GOOD”的索引號將為“1”,“EXCELLENT”的索引號將為“2”。
MySQL 也可以儲存空的字串和空值轉換為 ENUM。它將空字串排序在非空字串之前,將 NULL 排序在空字串之前。因此排序順序如下-
## 1. NULL# 2.空白字串 3 .非空字串
範例
在此範例中,我們有一個表格「結果”,其中包含ENUM 欄位“等級”。該表包含以下值。
1 2 3 4 5 6 7 8 9 10 | mysql> Select * from Result;
+-----+--------+-------+
| Id | Name | Grade |
+-----+--------+-------+
| 100 | Gaurav | GOOD |
| 101 | Rahul | POOR |
| 102 | Rahul | NULL |
| 103 | Mohan | |
+-----+--------+-------+
4 rows in set (0.00 sec)
|
登入後複製
現在,使用 ORDER BY 子句後,MySQL 傳回排序後的輸出。我們可以觀察到輸出是根據索引號碼排序的。
1 2 3 4 5 6 7 8 9 10 | mysql> Select * from result order by grade;
+-----+--------+-------+
| Id | Name | Grade |
+-----+--------+-------+
| 102 | Rahul | NULL |
| 103 | Mohan | |
| 101 | Rahul | POOR |
| 100 | Gaurav | GOOD |
+-----+--------+-------+
4 rows in set (0.00 sec)
|
登入後複製
以上是MySQL ENUM 值如何排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!