@aarty20
Front-end / Wordpress developer

Как использовать count/sum с двойным условием?

Задача посчитать количество заказанных товаров по стране заказа.

Есть таблица:
ID | item_name | meta_value

В мета_value лежат разные характеристика товара, включая страну и количество товаров в заказе.

Без количества в заказе достаю данные из базы так (тут я получаю массив всех заказов):
SELECT
meta_value AS country,
count(case when item_name = '%ITEM_NAME_1%' then 1 else null end) AS count_1
count(case when item_name = '%ITEM_NAME_2%' then 1 else null end) AS count_2
GROUP BY meta_value


Но, так считает только по количеству заказов, не включая количество заказного товара в одном заказе. А как посчитать с двумя условиями?
Насколько я понимаю, что-то типа такого
sum(meta_value.qty case when item_name = '%ITEM_NAME_2%' then 1 else null end)
  • Вопрос задан
  • 945 просмотров
Решения вопроса 1
@aarty20 Автор вопроса
Front-end / Wordpress developer
Решил вот так:

sum(case when item_name = '%ITEM_NAME_1%' then meta_value else 0 end) AS count_1,
sum(case when item_name = '%ITEM_NAME_2%' then meta_value else 0 end) AS count_2

в meta_value лежит как раз количество заказанных товаров в заказе.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы