Форум программистов, компьютерный форум, киберфорум
MySQL
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
1 / 1 / 0
Регистрация: 18.02.2012
Сообщений: 129
1

Подсчет и вывод документов, если она в нескольких категориях

24.02.2013, 09:52. Показов 1195. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть 3и таблицы (статья может быть сразу в нескольких категориях)
1я articles (article_id,name)
2я cats (cat_id,name)
3я articles2cats (article_id,cat_id)

1) Как вывести все статьи из определенной категории?
2) Как посчитать кол-во статей в категории?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.02.2013, 09:52
Ответы с готовыми решениями:

MVC. что делать с функцией если она используется на нескольких страницах?
не совсем понимаю объясните в MVC у каждой страницы есть файлы вид, модель, контроллер. предположим...

Одна статья в нескольких категориях
На сайте есть кнопка добавть статью. Как с ее помощью добавить статью в несколько категорий?...

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

Вывод категорий в категориях
Есть пара категорий верхнего уровня, в каждой из них где-то 10-12 категорий, а в них уже новости и...

5
13208 / 6596 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
24.02.2013, 10:44 2
Полагаю, что в `articles2cats` имеем уникальный ключ для полей (`article_id`, `cat_id`). Нет смысла одной и той же статье несколько раз быть привязаной к одному и тому же разделу.
Цитата Сообщение от MCB Посмотреть сообщение
Как вывести все статьи из определенной категории?
MySQL
1
2
3
4
5
6
7
SELECT `a`.*
FROM `cats` AS `c`
  JOIN `articles2cats` AS `r`
    ON `r`.`cat_id` = `c`.`cat_id`
  JOIN `articles` AS `a`
    ON `a`.`acticle_id` = `r`.`acticle_id`
WHERE `c`.`id` = 42;
Цитата Сообщение от MCB Посмотреть сообщение
Как посчитать кол-во статей в категории?
То же самое, но
MySQL
1
2
SELECT COUNT(*) AS `count`
...
1
1 / 1 / 0
Регистрация: 18.02.2012
Сообщений: 129
24.02.2013, 11:20  [ТС] 3
Спасибо! Все отлично работает. А по скорости это самый быстрый вариант?
0
13208 / 6596 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
24.02.2013, 12:31 4
Цитата Сообщение от MCB Посмотреть сообщение
А по скорости это самый быстрый вариант?
Если ключи все на месте, то да. См. EXPLAIN.

Если используете внешние ключи InnoDB так, что в `articles2cats` никогда не будет подосланных ссылок в никуда, то чтение из `cats` можно выкинуть и в WHERE искать сразу `articles2cats`.`cat_id` .
0
1 / 1 / 0
Регистрация: 18.02.2012
Сообщений: 129
24.02.2013, 13:10  [ТС] 5
Тут такой момент, если нужно вывод без категорий, тогда нужно группировать => нагрузка
0
13208 / 6596 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
24.02.2013, 13:12 6
Цитата Сообщение от MCB Посмотреть сообщение
Тут такой момент, если нужно вывод без категорий, тогда нужно группировать => нагрузка
Не понял ничего.
Ключи есть? Есть.
Запросы неоптимальные? См. EXPLAIN.
0
24.02.2013, 13:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.02.2013, 13:12
Помогаю со студенческими работами здесь

Classpress вывод текста в категориях
Как вывести определенный текст для категорий доски объявлений classpreess is_category не работает(

Запись checkbox в БД и вывод в категориях
Помогите пожалуйста. Есть 2 категории: - Строительство - Ремонт Есть 2 checkbox'а: -...

Вывод разного количества записей в категориях
У меня на сайте 3-и разные типа категории. Соответственно, под каждый тип я делаю условие...

Как в категориях DJ Catalog поменять вывод title и description
У меня возникла такая дилема, в joomla 1.5, размещены товары и описания, через DJ Catalog. Так вот...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru