COUNTING the number of DISTINCT rows in MySQL

Я создаю систему комментирования на PHP/MySQL. Эта система комментирования имеет хорошую функцию, которая позволяет пользователям выделять текст (хранится как "выделенный_текст" в базе данных) и этот выделенный текст будет затем сохранен в базе данных вместе с комментарием, который сделал пользователь. Кроме того, я также сохраняю абзац (в котором появился выделенный текст) как INT. Все эти значения правильно хранятся в базе данных, но теперь я хочу что-то с ними сделать.

Я хочу создать "счетчики комментариев". Эти счетчики комментариев будут размещены рядом с каждым абзацем в статье, и они будут отображать общее количество комментариев, сделанных к абзацу, к которому они прикреплены. Визуальный обзор структуры таблицы "comments":

This is a view of the table structure

Мой последний запрос для получения этой информации:

$distinct = mysql_query("SELECT COUNT(DISTINCT paragraph_id) FROM comments");

И соответствующий PHP-код:

while ($result_three = mysql_fetch_array($distinct)) 
{ 
    echo $result_three['paragraph_id'];
}

Теперь я думаю, что, возможно, я иду по неправильному пути. Я рассматривал возможность выполнения запроса, который сначала находит все DISTINCT paragraph_ids. После этого я запускаю цикл for each, который подсчитывает, сколько раз появляются эти paragraph_ids.

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

6
задан halfer 26 April 2018 в 09:20
поделиться