Страницы

Поиск по вопросам

воскресенье, 22 декабря 2019 г.

Посчитать статистику

#mysql #sql


Есть таблицы articles(id, section_id) и sections(id) связанные соответственно связью
один ко многим (одна секция имеет много статей). Я хочу узнать сколько минимально,
в среднем и максимально статей во всех секциях. Не доводилось делать таких агрегирующих
запросов с MIN, MAX, AVG... Помогите пожалуйста составить запрос!
    


Ответы

Ответ 1



В первую очередь придётся посчитать статьи: SELECT COUNT(a.id) FROM Articles a GROUP BY a.section_id Из этого можно получить агрегаты: SELECT min(agg.cnt) mincnt, max(agg.cnt) maxcnt, avg(agg.cnt) avgcnt FROM ( SELECT COUNT(a.id) cnt FROM Articles a GROUP BY a.section_id ) agg

Комментариев нет:

Отправить комментарий