SQL для анализа по разным таблицам

Я не покупаю его. Кажется, что у этих фанатиков ООП есть машины, у которых есть бесконечная оперативная память и потрясающая производительность. Очевидно, что при использовании inifinite RAM вам не нужно беспокоиться о фрагментации ОЗУ и о влиянии производительности, которое возникает при непрерывном создании и уничтожении небольших вспомогательных классов. Перефразируя цитату из книги «Красивый код» - «Каждая проблема в информатике может быть решена с еще одним уровнем абстракции»

Используйте переключатель, если вам это нужно. Компиляторы довольно хороши для генерации кода для них.

0
задан user90823745 18 January 2019 в 10:49
поделиться

1 ответ

Полагаю, вам нужен только агрегированный запрос, который JOIN содержит все три таблицы. Этот запрос извлечет 3 верхних списка с самым высоким средним avgpoints.

SELECT
    l.l_id,
    l.lists,
    avg(avgpoints) avg_avgpoints
FROM 
    lists l
    INNER JOIN combine c ON c.l_id = l.l_id
    INNER JOIN movies  m ON c.m_id = m.m_id 
GROUP BY l.l_id, l.lists
ORDER BY 3 DESC
LIMIT 3

Если вы хотите также отображать списки, фильмы которых не могут быть найдены, вам нужно изменить ВНУТРЕННИЕ СОЕДИНЕНИЯ на ВЛЕВОЕ СОЕДИНЕНИЯ.

0
ответ дан GMB 18 January 2019 в 10:49
поделиться
Другие вопросы по тегам:

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