Невозможно определить запись составного SQL-запроса в базу данных Oracle - PullRequest
1 голос
/ 09 мая 2020

Помогите, пожалуйста, разобраться в запросе: Разработайте запрос для расчета количества новостей, написанных каждым автором, и самого популярного тега, ссылающегося на автора новости. Вся эта информация должна выводиться в одном наборе результатов.

Я написал первую часть запроса, она отображает количество новостей для каждого автора:

SELECT news_author.author_id AS "Author ID", COUNT(*) AS "Amount of news"
FROM news
JOIN news_author ON id = news_author.news_id 
JOIN news_tag ON id = news_tag.news_id
GROUP BY news_author.author_id
ORDER BY news_author.author_id;

Пожалуйста подскажите, как сделать запрос на самый популярный тег, ссылаясь на новости автора и объединить эти два образца в один набор результатов.

Вы можете использовать стандартные функции ANSI SQL или Oracle SQL бонусы .

Схема таблицы прилагается.

this is my schema

1 Ответ

2 голосов
/ 09 мая 2020

Самый популярный тег имеет имя в статистике, которое называется режим . И, Oracle имеет функцию агрегирования stats_mode() для его вычисления. Итак, вы можете использовать:

SELECT na.author_id AS "Author ID",
       COUNT(DISTINCT n.id) AS num_news,
       STATS_MODE(nt.tag_id)
FROM news n JOIN
     news_author na
     ON n.id = na.news_id JOIN
     news_tag nt
     ON n.id = nt.news_id
GROUP BY na.author_id
ORDER BY na.author_id;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...