У меня есть 2 стола. 1 для мест проведения, 1 для обзоров. Я пытаюсь, чтобы SQL-запрос запрашивал таблицы и заказывал результаты в зависимости от количества из таблицы отзывов. Он также должен возвращать места, у которых нет отзывов, но они должны быть в конце набора результатов.Заказать по количеству подзапросов
Мой текущий оператор SQL является:
SELECT * , (
SELECT COUNT(*) AS cnt
FROM ratings r
WHERE r.venue_id = v.id
ORDER BY cnt DESC
)
FROM venues AS v
LEFT JOIN ratings AS r ON r.venue_id = v.id
WHERE v.active = '1'
GROUP BY r.venue_id
LIMIT 20
Однако это только возвращающие результаты, которые не в убывающем порядке подсчета ... Также не возвращаются все из мест, даже если у них нет рейтинга.
Если вы хотите, рассмотреть следующую этой простой двухступенчатой курс действий: 1. Если вы еще не сделали этого, , предоставить надлежащие DDL (и/или sqlfiddle), чтобы мы могли легче реплицировать проблему. 2. Если вы еще этого не сделали, укажите желаемый результирующий набор, соответствующий информации, представленной на шаге 1. – Strawberry