Подсчёт одинаковых полей - MySQL
Формулировка задачи:
есть таблица prefix_wall ----------id 1 2 3 4 5 6 7 9 ----------wall_user_id 10 11 10 9 9 16 16 10 ----------user_id 12 22 33 32 33 44 22 434 [B]wall_user_id [/B]- id стена пользователя [B]user_id [/B]- id пользователя кто оставлял сообщение Как сделать такой вывод.....чтоб он выводил так брал wall_user_id и считал сколько одинаковых записей в нем и выводил кол-во wall_user_id | кол-во записей которые повторяются 10 | 3 11 | 1 9 | 2 16 | 2
Решение задачи: «Подсчёт одинаковых полей»
textual
Листинг программы
$result = mysql_query("SELECT wall_user_id, COUNT(wall_user_id) FROM prefix_wall GROUP BY wall_user_id"); while ($row = mysql_fetch_array($result, MYSQL_NUM)) { printf("Пользователи %s - Очки: %s", $row[0], $row[1]."<br>" ); }
Объяснение кода листинга программы
- Подключение к базе данных (предполагается, что это уже выполнено)
- Выполнение SQL-запроса
SELECT wall_user_id, COUNT(wall_user_id) FROM prefix_wall GROUP BY wall_user_id
- Получение результата запроса в переменную $result
- Использование функции mysql_fetch_array для получения каждой строки результата запроса в виде массива
- Использование функции printf для вывода строки формата
Пользователи %s - Очки: %s
, где %s - это место для значений из массива $row - Добавление символа
<br>
после каждой строки, чтобы разбить их на отдельные пункты - Повторение шагов 4-6 для каждой строки в результате запроса
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д