Справка с MySQL Join Statement

Я просто создал веб-сайт и понял, что у меня должны быть лучшие 3 самые высокие расчетные альбомы.. Я не создал в чем-то, что отслеживает оценки. Оценки хранятся отдельно. Может кто-то показывать мне, как соединить их.

ВЫБЕРИТЕ идентификатор, имя ИЗ альбомов ОГРАНИЧИВАЮТ 3

ВЫБЕРИТЕ оценку ИЗ оценок ГДЕ url=CONCAT ('альбомы/шоу /', album.id)

Позвольте мне просто конкретизировать его немного. Я должен возвратить следующее:

От таблицы альбомов. идентификатор, имя. От таблицы оценок я должен возвратить среднюю оценку. ВОКРУГ ((rating+rating+rating) / общие оценки)

Оценки. Пользователи могут оценить все на моем веб-сайте, таким образом, у меня есть универсальная таблица оценок. Оценка снабжена URL страницы, к которой это относится. Следовательно, для получения оценок альбома я должен иметь 'albums/show/{album_id}'. В заднем виде у меня должны были быть тип и идентификационное поле, но немного поздно теперь с ланчем iminient.

Любая справка очень ценится.

1
задан JasonS 3 May 2010 в 10:59
поделиться

1 ответ

SELECT
  a.id,
  a.name,
  AVG(r.rating) AS average
FROM
    albums a
  LEFT JOIN
    ratings r
  ON
    r.url = CONCAT('albums/show/', a.id)
GROUP BY
  a.id
ORDER BY
  average DESC
LIMIT 3

(Не проверено, см. AVG () )

2
ответ дан 3 September 2019 в 00:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: