Вывести количество повторений категорий в отдельный столбец - 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
с целью выбрать уникальные значения категории и города, а также количество повторений каждой категории.
select
— ключевое слово для начала запросаt.category
— переменная, которая выбирает значение столбцаcategory
из таблицыmyTable
t.city
— переменная, которая выбирает значение столбцаcity
из таблицыmyTable
(select count(*) from myTable e where e.category=t.category)
— вложенный запрос, который считает количество записей с указанной категориейt.category
— значение переменной, которое представляет собой уникальное значение категорииt.city
— значение переменной, которое представляет собой уникальное значение городаfrom myTable t
— указание, что запрос производится в таблицеmyTable
Таким образом, результат запроса будет содержать три столбца:Категория
,Город
иПовторы
. В столбцеПовторы
будет указано количество записей с каждой уникальной категорией.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д