Почему у браузера DB есть порядок, который я не могу воспроизвести?

#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 (я новичок)?

Спасибо!

результат DB Browser

результат SQL

Комментарии:

1. Это отвечает на ваш вопрос? Каков порядок записей по умолчанию для оператора SELECT в MySQL?

2. «Но я получаю 3 действующих лица в алфавитном порядке» — это правильно, также данные не хранятся в каком-либо определенном порядке, и тот факт, что браузер БД отображается в определенном порядке, этого не меняет

3. Я должен был бы спросить, что, по вашему мнению ORDER BY acteur , делает этот запрос, если расположение актеров в алфавитном порядке не соответствует вашим ожиданиям. В общем, если вы не укажете an ORDER BY , порядок результатов будет недетерминированным (обратите внимание, это не означает случайный), и, похоже, не существует столбца, по которому вы можете детерминированно упорядочить результаты так, как вам кажется нужным

4. @P.Salmon хорошо, но почему браузер DB упорядочивает его по «популярности»

5. Я думаю, вы только что ответили на свой собственный вопрос.

Ответ №1:

Без какого-либо другого столбца для упорядочения вы не сможете получить этот результат, по крайней мере, ненадежно. Без явного order by предложения база данных может возвращать строки в любом порядке, который она выбирает (часто это просто порядок, в котором они были вставлены).

Если вы хотите надежно получить Джейми, Кристофа и Леонардо, вы можете добавить еще один столбец (например, «важность»), заполнить его, а затем запросить и явно упорядочить по нему.

Комментарии:

1. хорошо, хорошо, спасибо, я удивлен, что у браузера db другой порядок.. Тогда я собираюсь изменить свою домашнюю работу..