Как в sql посчитать количество повторяющихся значений
5 лет назад
Человек-Молекула
Ответы
Можно попробовать использовать функцию COUNT() в сочетании с оператором GROUP BY.
Предположим, у нас есть таблица "orders" с колонками "customer_name" и "order_date", и мы хотим посчитать, сколько заказов было сделано каждым клиентом. Мы можем написать следующий SQL-запрос:
Этот запрос выберет все уникальные значения из колонки "customer_name" в таблице "orders" и подсчитает количество строк, связанных с каждым уникальным значением. Результатом запроса будет таблица со столбцами "customer_name" и "order_count", в которой каждая строка будет показывать клиента и количество его заказов.
4 года назад
Алексей Алешин
запрос работает в бд, но не выводит информацию на сайт php
как его правильно вывести?
я пробовала такой код:
3 года назад
Сколько раз встречается каждое значение, считают через GROUP BY и COUNT(*):
Результат — по строке на каждый город с числом пользователей.
Только повторяющиеся значения
Условие на результат группировки пишут в HAVING:
Так находят дубли: email, которые встречаются больше одного раза. WHERE здесь не подойдёт — он фильтрует строки до группировки.
Повторы по нескольким столбцам
Все строки-дубли целиком
GROUP BY сворачивает дубли в одну строку. Чтобы увидеть каждую повторяющуюся запись с её id, используйте оконную функцию:
Сколько значений повторяется
Разница total - uniq — число лишних строк-дублей.
Как вывести результат на сайт через PHP
В комментарии спрашивали, почему запрос работает в базе, а на странице пусто. Результат запроса нужно получить через fetchAll() и вывести в цикле:
В строке подключения не должно быть пробелов: mysql:host=localhost;dbname=les. С пробелом после двоеточия PDO не видит параметр host.
Группировку и агрегатные функции разбирают в бесплатном курсе «Основы SQL».
7 дней назад
Никита Вихров






