Заказ по псевдониму не работает - PullRequest
0 голосов
/ 09 апреля 2019

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

Таблицы:

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

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

Рейтинг (rID, mID, звезды, рейтингDate) Русский: Рецензент 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

, но на самом деле вывод - «Запрос не выполнен»: рядом с «ЗАКАЗ»: синтаксическая ошибка.

1 Ответ

0 голосов
/ 09 апреля 2019

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

ORDER BY Movie.Title, Spread

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

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