Мне нужно подсчитать, сколько раз пара категорий отображается в столбце. Они хранятся как строки, такие как Sports, Medicine, имя столбца - ct.category_name.mysql count появление строки
Это вопрос, который я адаптирую. Мне нужна колонка для каждого типа категории.
select co.order_id, co.catalog_item_id, ct.category_name
from customer_order as co
join item_category as ic on (ic.item_id = co.customer_id)
join category_translations as ct on (ct.category_id = ic.category_id)
where co.paid = 1 and co.customer_id = 22500 and ct.locale = "en"
Когда я кладу это в выбранном заявлении подсчитывает все, что я могу понять, почему, но я не уверен, в каком направлении идти.
count(CASE
WHEN ct.category_name = "sports" THEN ct.category_name
ELSE 0
end) AS 'sports'
Опять же, мне бы хотелось, чтобы для каждой строки была своя колонка. Любая помощь приветствуется.
Когда я пытаюсь:
select co.order_id, co.catalog_item_id, ct.category_name
, SUM(ct.category_name = "sports") AS `sports`
, SUM(ct.category_name = "medici") AS `medicine`
from customer_order as co
join item_category as ic on (ic.item_id = co.customer_id)
join category_translations as ct on (ct.category_id = ic.category_id)
where co.paid = 1 and co.customer_id = 22500 and ct.locale = "en"
Считает спорта дважды. Неправильное место для когда? Результаты:
`23115 271708 sports 483 483`
Coo, но когда я приспосабливаюсь ко второй строке, он только подсчитывает первый и повторяет его. Если это не в выборе? – jahrichie
@jahrichie: Я не уверен, что понимаю вас. Покажите свой точный код, угадывание - это не лучший способ решить проблемы программирования. – zerkms
Я обновил первое сообщение с моей попыткой и результатом. Заранее спасибо – jahrichie