Сумма сумм в запросе

348
22 января 2017, 15:01

Есть такой запрос

    SELECT order_customFields.order_customFields_delivery_method,
    sum(case `order`.order_status when 'paid' then 1 else 0 end) paid,
    sum(case `order`.order_status when 'later' then 1 else 0 end) later,
  sum(case `order`.order_status when 'delivery-approved' then 1 else 0 end) deliveryapproved,
  sum(case `order`.order_status when 'problem' then 1 else 0 end) problem
FROM order_customFields 
  INNER JOIN `order` ON order_customFields.order_id = `order`.order_id
WHERE
  order_customFields.order_customFields_order_date >= '2016-12-01' AND
  order_customFields.order_customFields_order_date <= '2016-12-31' 
AND order_customFields.order_customFields_delivery_method is not null
GROUP BY    
   order_customFields.order_customFields_delivery_method

Который выводит данные в таком виде

Вопрос, возможно ли добавить условие, чтобы в этом же запросе выводилась новая строка, например "Европа", ячейки которой, были суммой данных 7 курьеров?

Answer 1
    SELECT order_customFields.order_customFields_delivery_method,
      sum(case `order`.order_status when 'paid' then 1 else 0 end) paid,
      sum(case `order`.order_status when 'later' then 1 else 0 end) later,
      sum(case `order`.order_status when 'delivery-approved' then 1 else 0 end) deliveryapproved,
      sum(case `order`.order_status when 'problem' then 1 else 0 end) problem
FROM order_customFields 
  INNER JOIN `order` ON order_customFields.order_id = `order`.order_id
WHERE
  order_customFields.order_customFields_order_date >= '2016-12-01' AND
  order_customFields.order_customFields_order_date <= '2016-12-31' 
AND order_customFields.order_customFields_delivery_method is not null
GROUP BY    
   order_customFields.order_customFields_delivery_method
UNION 

SELECT 'EUROPE',
      sum(case `order`.order_status when 'paid' then 1 else 0 end) paid,
      sum(case `order`.order_status when 'later' then 1 else 0 end) later,
      sum(case `order`.order_status when 'delivery-approved' then 1 else 0 end) deliveryapproved,
      sum(case `order`.order_status when 'problem' then 1 else 0 end) problem
FROM order_customFields 
  INNER JOIN `order` ON order_customFields.order_id = `order`.order_id
WHERE
  order_customFields.order_customFields_order_date >= '2016-12-01' AND
  order_customFields.order_customFields_order_date <= '2016-12-31' 
AND order_customFields.order_customFields_delivery_method is not null
AND substr(order_customFields.order_customFields_delivery_method,1,3) ='eu_'
GROUP BY    
   substr(order_customFields.order_customFields_delivery_method,1,3)
READ ALSO
Мне кажется, тут слишком много Активити

Мне кажется, тут слишком много Активити

Предположим, что у меня есть приложение, которое хранит информацию об объектах моего городаУ меня есть MainActivity, которая содержит в себе HomeFragment,...

420
Try catch моего теста

Try catch моего теста

Если я правильно понимаю, основной принцип отлова ошибок try catch является в том, чтобы при появлении какой-то определенной - ожидаемой ошибки,...

348
Не запускается Eclipse

Не запускается Eclipse

Работал в Composer (среда на основе Eclipse), программа сама завершила работу и больше не запускается, отображается ошибка, что на скрине

468