Время для прочтения: 0 мин. 39 сек.

Получить список самых комментируемых постов

Если на вашем блоге или сайте есть блок комментариев к постам, то предлагаю простой и оптимизированный способ выборки самых комментируемых публикаций.

Структура таблицы posts:

[code]
|—————————-|
| post_id | post_name |
|—————————-|
| 1 | Первый пост |
|—————————-|
| 2 | Второй пост |
|—————————-|
[/code]

Структура таблицы comments:

[code]
|—————————————|
| comment_id | post_id | comment_name |
|—————————————|
| 1 | 1 | Комментарий 1 |
|—————————————|
| 2 | 1 | Комментарий 2 |
|—————————————|
| 3 | 2 | Комментарий 3 |
|—————————————|
[/code]

Запрос к базе на выборку:


SELECT
	p.post_name,
	COUNT(c.comment_id) AS total
FROM posts AS p
JOIN comments AS c ON p.post_id = c.post_id
GROUP BY c.post_id
ORDER BY total DESC
LIMIT   5

Для вставки кода используйте HTML-теги
<pre><code class="php">ваш код</code></pre>