我有一个表格,其中包含成员注册信息。我希望能够对数据进行一些图表和分析,并查看注册趋势等。因此,我想能够绘制一条线状图表,显示过去52周每周有多少人注册。我的图表已经正常工作了,因为我已广泛使用它们,但我无法理解如何使用PHP从MySQL中提取数据,这让我感到困扰,因为我知道这不应该很难-表格具有名为datestamp的字段,其格式为Y-m-d。最好如何创建一个循环,以打印出每周注册日期和注册统计次数,涵盖前52周?
假设您的时间戳列名为signup_date,您可以执行以下查询:
SELECT
WEEKOFYEAR(signup_date) AS weekno,
COUNT(1) AS signups
FROM your_table
GROUP BY WEEKOFYEAR(signup_date);
这将为您提供一个结果集,包含2列数据:一列是每年的第几周,另一列是该周有多少个注册。
编辑1:
要获取每个结果的当周日期,可以在查询中添加以下内容:
SELECT
WEEKOFYEAR(signup_date) AS weekno,
COUNT(1) AS signups,
SUBDATE(signup_date, INTERVAL WEEKDAY(signup_date) DAY) AS date_of_week
FROM your_table
GROUP BY WEEKOFYEAR(signup_date);