Как написать sql запрос на вывод абсолютно всех данных, сгруппированных по столбцу

Рейтинг: 0Ответов: 1Опубликовано: 18.08.2023

У меня есть таблица links с полями kink и size. Поле link хранит ссылку на файл, а поле size размер этого файла. Часто бывает такое, что размер файла повторяется в таблице по несколько раз. Мне нужно вывести абсолютно все данные из поля link и size + столбец, который показывает сколько раз size встречается в таблице. Например вывод может быть таким: введите сюда описание изображения

Подскажите пожалуйста как можно сделать такой результат? Я пробовал писать такой запрос "SELECT link, size, COUNT(size) as recur from links GROUP BY size HAVING recur > 1" (здесь вывожу только если размер больше 1). Но результат не тот. Значения просто группируются по полю size.

Ответы

▲ 0Принят
SELECT a.link, a.size, b.recur
FROM links a
INNER JOIN (
    SELECT size, COUNT(size) AS recur
    FROM links 
    GROUP BY size
) b ON a.size = b.size

Пример.

Условие отбора можно добавить по необходимости.