MySQL Grid:每日销售对地区

时间:2015-04-30 21:44:25

标签: php mysql group-by self-join

我想创建一个MySQL查询,以获取每天按国家或城市销售的网格:

afhbgicjd

此代码以我想要的方式返回结构:

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

但是,我必须为数据库记录中的每个国家/地区创建一行,这对于城市来说更是如此,甚至更多。

我如何一次获得所有国家或城市?

1 个答案:

答案 0 :(得分: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和sales。这将提供国家/地区代码,以便您可以将其加入另一个国家/地区表以获取国家/地区名称。查看我对SELECTGROUP BY子句所做的更改。我不确定,但你甚至可以完全摆脱LIMIT条款。