Distinct и COUNT - MySQL

Узнай цену своей работы

Формулировка задачи:

Добрый вечер Есть таблица с именами юзеров. Юзеры могут повторятся. Как сделать "distinct(user)", но только чьи имена повторяются не более 3х раз?
SELECT DISTINCT(USER)  FROM advert WHERE  (SELECT COUNT( USER ) FROM advert) <3
Так не получается. Заранее спасибо и с наступающим
Выводить уникальных юзеров с количеством повторов удалось так:
SELECT USER, COUNT(USER)
FROM advert
GROUP BY USER
А как прикрутить условие, чтобы в выборку не попадали юзеры с повторами более 3х раз - не понимаю
Все решил так:
SELECT USER, COUNT(USER) AS aaa
FROM advert 
GROUP BY USER
HAVING aaa<3
Может кому пригодится

Решение задачи: «Distinct и COUNT»

textual
Листинг программы
SELECT USER
FROM advert 
GROUP BY USER
HAVING count(*)<3

Объяснение кода листинга программы

В данном коде происходит выборка уникальных пользователей из таблицы advert и подсчет их количества. Код сформулирован следующим образом:

  1. SELECT - указывает, какие данные нужно выбрать из таблицы.
  2. USER - название столбца, который содержит данные о пользователях.
  3. FROM advert - указывает, из какой таблицы нужно выбрать данные.
  4. GROUP BY USER - группировка данных по уникальным значениям столбца USER.
  5. HAVING count(*)<3 - фильтрация групп, в которых количество записей меньше 3. Таким образом, результатом выполнения данного запроса будет список уникальных пользователей, которые имеют меньше трех записей в таблице advert.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.714 из 5