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

Я безуспешно пытаюсь заказать столбец с псевдонимом.

Столы:

Фильм ( mID , название , год , режиссер ) Русский: Есть фильм с идентификационным номером mID, названием, годом выпуска и режиссером.

Рецензент ( rID , имя ) Русский: Рецензент с идентификационным номером rID имеет определенное имя.

Рейтинг ( rID, mID, звезды, дата рейтинга) Русский: Рецензент rID присвоил фильму mID число звезд (от 1 до 5) на определенную дату рейтинга.

Вопрос домашнего задания:

Для каждого фильма верните название и «распределение оценок», то есть разницу между самой высокой и самой низкой оценками, присвоенными этому фильму. Отсортируйте по рейтингу от высшего к низшему, а затем по названию фильма.

Я пробовал этот запрос несколькими способами, но безуспешно.

SELECT Movie.Title, (MAX(Rating.stars) - MIN(Rating.stars)) AS Spread
FROM Movie
JOIN Rating ON Movie.mID = Rating.mID
GROUP BY Rating.mID
ORDER BY Movie.Title
ORDER BY Spread

Я ожидаю вывод ниже:

MOVIE | SPREAD
Avatar | 2
Gone with the Wind | 2
Raiders of the Lost Ark | 2
E.T. | 1
Snow White | 1
The Sound of Music | 1

но фактический вывод: не удалось выполнить запрос: рядом с «ORDER»: синтаксическая ошибка.

ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
0
38
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

SQLite ожидает 1 предложение ORDER BY, вам нужно добавить второе ORDER BY к первому с запятой.

ORDER BY Movie.Title, Spread

ORDER BY с псевдонимом столбца работает, потому что во всех СУБД предложение ORDER BY выполняется после SELECT

ORDER BY Spread DESC, Movie.Title ;

Добавьте ``` до и после кода, чтобы отформатировать его правильно. Также, пожалуйста, добавьте некоторые пояснения

Sabito 錆兎 30.10.2020 17:12

Другие вопросы по теме