2015-04-30 3 views
0

я хочу сделать запрос MySQL, чтобы получить сетку с продаж в стране или городе с каждым днем:MySQL сетки: ежедневные продажи против региона

SELECT  DATE(creacion) as fecha, 
      SUM(case when order_paid = 'Approved' and info_direccion_pais = 'GB' then 1 else 0 end) as sales_UK, 
      SUM(case when order_paid = 'Approved' and info_direccion_pais = 'AU' then 1 else 0 end) as sales_AU 
FROM  orders 
WHERE  DATE(creacion) >= '2015-01-01' 
GROUP BY fecha 
ORDER BY fecha DESC 
LIMIT  0, 100 

Этот код возвращает структуру так, как я хочу это:

 
fecha aprobadas_uk aprobadas_au 
2015-04-30 5 7 
2015-04-29 2 9 
2015-04-28 12 19 
2015-04-27 4 22 
2015-04-26 8 25 
2015-04-25 1 9 
2015-04-24 3 4 
2015-04-23 3 11 
2015-04-22 5 1 

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

Как я могу получить сразу все страны или города?

+0

Какова структура вашей таблицы? У вас есть только один стол? Каким должен быть желаемый результат вашего запроса? – Maximus2012

ответ

1

Попробуйте это и посмотреть, если он работает:

SELECT DATE(creacion) as fecha, info_direccion_pais, 
     SUM(case when order_paid = 'Approved' then 1 else 0 end) as sales 
FROM  orders 
WHERE  DATE(creacion) >= '2015-01-01' 
GROUP BY fecha, info_direccion_pais 
ORDER BY fecha DESC, info_direccion_pais 
LIMIT  0, 100 

Это будет иметь 3 колонки: Fecha, info_direccion_pais и продаж. Это даст код страны, чтобы вы могли присоединиться к нему в другой таблице страны, чтобы получить название страны. Посмотрите на изменения, которые я сделал в статьях SELECT и GROUP BY. Я не уверен, но вы можете полностью избавиться от предложения LIMIT.

+0

Обратите внимание, что DATE() будет менее эффективным, чем запрос диапазона. – Strawberry

+0

достаточно близко г-н Maximus2012. Я очень ценю ваше предложение. Он возвращает данные, разделенные датами и страной, в то же время, что полезно, но он генерирует массив с тремя столбцами, как вы описали. –

+0

Я пытался создать столько столбцов, сколько стран на записях, что может быть немного сложнее, я полагаю? –