我有一个包含以下列的客户表,其中包含每个月每月购买的数据。
success <- !(TRUE %in% check)
现在我想查找2015年5月15日至2015年6月15日期间每位客户购买的总数量。
我是mysql的新手,所以不知道如何继续前进。
提前致谢
答案 0 :(得分:0)
在一个月中的每一天使用列来存储值都不是一个好主意。但有时我们会陷入糟糕的数据格式,以下是您如何获得所需的计数:
SELECT ID, SUM(qty)
FROM (
SELECT
ID,
MAKEDATE(2015,1) + INTERVAL (month-1) MONTH AS dt,
DAY1 AS qry
FROM yourtable
UNION ALL
SELECT
ID,
MAKEDATE(2015,1) + INTERVAL (month-1) MONTH AS dt + INTERVAL 1 DAY,
DAY2 AS qry
UNION ALL
SELECT
ID,
MAKEDATE(2015,1) + INTERVAL (month-1) MONTH AS dt + INTERVAL 2 DAY,
DAY3 AS qry
FROM yourtable
UNION ALL
...
until day 31
...
) s
WHERE
dt>='2015-04-15' AND dt<='2015-06-15'
GROUP BY ID
我使用子查询来规范化数据结构,然后我对外部查询进行计数,一个简单的where子句和group by将给出你需要的结果。