Sql 使用带有日期的分组依据

Sql 使用带有日期的分组依据,sql,Sql,我有一个包含以下列的表: stats_date (YYYY-MM-DD) registered (INT) opened_form (INT) 编写一个查询,该查询将返回过去3个月内每月注册的和打开的表单的总数。还有一个名为“转换率”的计算列,该列是“注册的”列除以“打开的”,您可以查看第187页的,以了解转换的工作原理。要知道如何按月对列进行分组,您需要检查数据库的文档,通常是Month(column\u NAME)您只是在寻找聚合吗?不同数据库的日期/时间函数存在显著差异,但其思想是: s

我有一个包含以下列的表:

stats_date (YYYY-MM-DD)
registered (INT)
opened_form (INT)

编写一个查询,该查询将返回过去3个月内每月注册的和打开的表单的总数。还有一个名为“转换率”的计算列,该列是“注册的”列除以“打开的”

,您可以查看第187页的,以了解转换的工作原理。要知道如何按月对列进行分组,您需要检查数据库的文档,通常是
Month(column\u NAME)

您只是在寻找聚合吗?不同数据库的日期/时间函数存在显著差异,但其思想是:

select year(stats_date), month(stats_date),
       sum(registered), sum(opened_form),
       sum(registered) * 1.0 / sum(opened_form) as ratio
from t
group by year(stats_date), month(stats_date)
order by min(stats_date);

当然,您的数据库可能有不同的方法从日期提取年份和月份。

请用您正在使用的数据库标记。此外,样本数据和预期结果将澄清这一问题。