MySQL ORDER BY столбец ASC, содержащий два слова, которые не имеют правильного алфавита - PullRequest
3 голосов
/ 04 октября 2011

Я пытаюсь отсортировать следующую таблицу:

Таблица: Люди

+---+----------------------+
|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'              |
+----------------------+

Не уверен, что я тут не так делаю.

1 Ответ

3 голосов
/ 04 октября 2011

Если тип данных - enum, я думаю, он будет упорядочен по позиции (индексу) элемента в списке enum, а не по значению строки enum. Является ли «индеец» первым в вашем перечислении?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...