📅  最后修改于: 2023-12-03 15:18:39.235000             🧑  作者: Mango
在 PostgreSQL 中,我们可以使用 GROUP BY 语句对数据进行分组。本文将介绍如何按照月和年对数据进行分组。
我们可以在 SELECT 语句中使用 DATE_TRUNC 函数来按月份截断日期(例如将日期转换为月初)。然后我们可以使用 GROUP BY 语句按截断后的日期分组。
SELECT DATE_TRUNC('month', created_at) AS month,
COUNT(*) AS count
FROM my_table
GROUP BY month
ORDER BY month;
上面代码的含义是从 my_table 表中选出 created_at 字段,使用 DATE_TRUNC 函数将其转换为月初日期,然后按照此日期进行分组,最后统计每个组中的记录数量。
与按月分组类似,我们可以使用 DATE_TRUNC 函数将日期转换为年初日期,然后使用 GROUP BY 语句按照此日期进行分组。
SELECT DATE_TRUNC('year', created_at) AS year,
COUNT(*) AS count
FROM my_table
GROUP BY year
ORDER BY year;
上面代码的含义是从 my_table 表中选出 created_at 字段,使用 DATE_TRUNC 函数将其转换为年初日期,然后按照此日期进行分组,最后统计每个组中的记录数量。
本文介绍了如何在 PostgreSQL 中按照月和年对数据进行分组。我们可以使用 DATE_TRUNC 函数来截断日期,然后使用 GROUP BY 语句按照截断后的日期进行分组。