SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 05.12.2010 18:57:29

supercelt
Участник
Зарегистрирован: 05.12.2010
Сообщений: 4

Группировка выборки из БД №2

Здравствуйте ещё раз. В прошлом вопросе вы помогли сделать такой запрос

SELECT `s`.`id` AS `s_id`, `s`.`title` AS `s_title`, `c`.`id` AS `c_id`, `c`.`title` AS `c_title`, t.`cnt` FROM `#__sections` AS `s` LEFT JOIN `#__categories` AS `c` ON `s`.`id` = `c`.`section`
left join (select `section`, count(`section`) `cnt` from `#__categories` group by `section`) t on t.`section`=`c`.`section`
GROUP BY `s_id`, `s_title`, `c_id`, `c_title`;


Тут образовался вопрос 2. Задача усложнилась. Теперь добавилась таблица #__content, куда помещаются статьи, прикреплённые к категориям через поле catid

Table #__content

id  title      text         catid
1  one    some text      2
2  two   some text      4
......


И на экран нужно вывести теперь не только подсчёт категорий в секциях но и подсчёт статей в каждой категории. Вот так:

Ключевые слова(1)
    Ключевые слова(0)
RSS Яндекс(1)
    RSS Яндекс(0)
Статьи(13)
    Покупка авто(2)
    Автострахование(4)
    Ремонт авто(7)
    Автоновости(5)
    Автоюмор(3)
    Автоэлектроника(6)
    Авто и закон(3)
    Автомобили(4)
    Профилактика авто(6)
    Полезные советы(3)
    Автодизайн(6)
    Авто и безопасность(3)
    Автодиллеры(5)
Сайт(2)
    Сайт(3)
    Новости сайта(3)

Я не пнимаю куда поместить ещё один вложенный запрос

Неактивен

 

#2 05.12.2010 23:26:25

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Группировка выборки из БД №2

SELECT `s`.`id` AS `s_id`, `s`.`title` AS `s_title`,
 `c`.`id` AS `c_id`, `c`.`title` AS `c_title`, t.`cnt`,
 ifnull(t1.cnt_article,0) `кол-во статей`
 FROM section s LEFT JOIN categories c ON s.id = c.section
left join
(select section, count(section) cnt from categories group by section) t
on t.`section`=s.id
left join
(select catid, count(catid) cnt_article from content group by catid) t1
on t1.catid=c.id;

Неактивен

 

#3 06.12.2010 00:19:52

supercelt
Участник
Зарегистрирован: 05.12.2010
Сообщений: 4

Re: Группировка выборки из БД №2

Благодарю!!!

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson