Вывести количество повторений категорий в отдельный столбец - MySQL

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

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

Подскажите как сделать запрос, чтобы вывести кол-во повторений категорий в 3-й столбец? Т.е. так:
Категория	Город		Повторы
-----------------------------------
Бетон		Москва		2
Бетон		Челябинск	2
Плитка		Самара		1
Кирпич		Москва		3
Кирпич		Тверь		3
Кирпич		Питер		3

Решение задачи: «Вывести количество повторений категорий в отдельный столбец»

textual
Листинг программы
select
  t.category `Категория`
 ,t.city `Город`
 ,(select count(*) from myTable e where e.category=t.category) `Повторы`
from myTable t;

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

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

  1. select — ключевое слово для начала запроса
  2. t.category — переменная, которая выбирает значение столбца category из таблицы myTable
  3. t.city — переменная, которая выбирает значение столбца city из таблицы myTable
  4. (select count(*) from myTable e where e.category=t.category) — вложенный запрос, который считает количество записей с указанной категорией
  5. t.category — значение переменной, которое представляет собой уникальное значение категории
  6. t.city — значение переменной, которое представляет собой уникальное значение города
  7. from myTable t — указание, что запрос производится в таблице myTable Таким образом, результат запроса будет содержать три столбца: Категория, Город и Повторы. В столбце Повторы будет указано количество записей с каждой уникальной категорией.

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


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

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

11   голосов , оценка 4 из 5
Похожие ответы