MySQL порядок по позиции неизвестный столбец - PullRequest
0 голосов
/ 15 октября 2018

ORDER BY позиция столбца не работает в MySQL, хотя справочное руководство утверждает, что должно.

Использование employees' table в Employees Sample Database -

mysql> select first_name, last_name from employees order by 4;
ERROR 1054 (42S22): Unknown column '4' in 'order clause'

Вот таблица -

mysql> describe employees;
+------------+---------------+------+-----+---------+-------+
| Field      | Type          | Null | Key | Default | Extra |
+------------+---------------+------+-----+---------+-------+
| emp_no     | int(11)       | NO   | PRI | NULL    |       |
| birth_date | date          | NO   |     | NULL    |       |
| first_name | varchar(14)   | NO   |     | NULL    |       |
| last_name  | varchar(16)   | NO   |     | NULL    |       |
| gender     | enum('M','F') | NO   |     | NULL    |       |
| hire_date  | date          | NO   |     | NULL    |       |
+------------+---------------+------+-----+---------+-------+
6 rows in set (0.01 sec)

Есть идеи, что происходит?Имя столбца находится в списке выбора, поэтому это должно работать.

1 Ответ

0 голосов
/ 15 октября 2018

Порядок по позиции столбца основан на результатах запроса.В случае вашего запроса вы можете выбрать 1 (first_name) или 2 (last_name).

Порядок по столбцу не основан на позиции в таблице.

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