#mysql #sql #db-browser-sqlite
#mysql #sql #db-browser-sqlite
Вопрос:
У меня проблема, которую я действительно не понимаю. На самом деле, у меня есть база данных фильмов, где есть таблица для актеров, содержащая две колонки (идентификатор фильма и название).
Например, затем я ввожу идентификатор фильма Django Unchained, первый результат — Джейми Фокс (главный актер). Но затем я ввожу этот SQL-запрос (я ожидал бы получить Джейми Фокса, Кристофа и Леонардо).:
SELECT * FROM LesActeurs WHERE film_id=68718 ORDER BY acteur LIMIT 3
Но я получаю 3 актера в алфавитном порядке. Знаете ли вы, как я мог бы имитировать порядок работы браузера DB с помощью command (я новичок)?
Спасибо!
Комментарии:
1. Это отвечает на ваш вопрос? Каков порядок записей по умолчанию для оператора SELECT в MySQL?
2. «Но я получаю 3 действующих лица в алфавитном порядке» — это правильно, также данные не хранятся в каком-либо определенном порядке, и тот факт, что браузер БД отображается в определенном порядке, этого не меняет
3. Я должен был бы спросить, что, по вашему мнению
ORDER BY acteur
, делает этот запрос, если расположение актеров в алфавитном порядке не соответствует вашим ожиданиям. В общем, если вы не укажете anORDER BY
, порядок результатов будет недетерминированным (обратите внимание, это не означает случайный), и, похоже, не существует столбца, по которому вы можете детерминированно упорядочить результаты так, как вам кажется нужным4. @P.Salmon хорошо, но почему браузер DB упорядочивает его по «популярности»
5. Я думаю, вы только что ответили на свой собственный вопрос.
Ответ №1:
Без какого-либо другого столбца для упорядочения вы не сможете получить этот результат, по крайней мере, ненадежно. Без явного order by
предложения база данных может возвращать строки в любом порядке, который она выбирает (часто это просто порядок, в котором они были вставлены).
Если вы хотите надежно получить Джейми, Кристофа и Леонардо, вы можете добавить еще один столбец (например, «важность»), заполнить его, а затем запросить и явно упорядочить по нему.
Комментарии:
1. хорошо, хорошо, спасибо, я удивлен, что у браузера db другой порядок.. Тогда я собираюсь изменить свою домашнюю работу..