我正在尝试对下表进行排序:
表:人
+---+----------------------+
|id | Ethnicity |
+---+----------------------+
| 1 | 'Hispanic' |
| 2 | 'Asian American' |
| 3 | 'White' |
| 4 | 'African American' |
| 5 | 'American Indian' |
| 6 | 'Other' |
+---+----------------------+
SQL查询
SELECT DISTINCT Ethnicity FROM People ORDER BY Ethnicity ASC
结果
这会产生:
+----------------------+
| Ethnicity |
+----------------------+
| 'American Indian' |
| 'Asian American' |
| 'African American' |
| 'Hispanic' |
| 'White' |
| 'Other' |
+----------------------+
我想要生成的结果是:
+----------------------+
| Ethnicity |
+----------------------+
| 'African American' |
| 'American Indian' |
| 'Asian American' |
| 'Hispanic' |
| 'Other' |
| 'White' |
+----------------------+
不确定我在这里做错了什么。
答案 0 :(得分:3)
如果数据类型是枚举,我相信它将按枚举列表中项目的位置(索引)排序,而不是枚举字符串的值。 “美洲印第安人”是你的枚举定义中的第一项吗?