在PostgreSQL(通常简称为PgSQL)中,GROUP BY子句用于将相似的数据行分组在一起,以便对每个组执行聚合函数
sales_data的表,其中包含region(地区)、product(产品)和revenue(收入)列:CREATE TABLE sales_data ( id SERIAL PRIMARY KEY, region VARCHAR(50), product VARCHAR(50), revenue NUMERIC(10, 2));向表中插入一些示例数据:INSERT INTO sales_data (region, product, revenue)VALUES ('North America', 'Product A', 1000), ('North America', 'Product B', 2000), ('Europe', 'Product A', 1500), ('Europe', 'Product B', 1800), ('Asia', 'Product A', 2500), ('Asia', 'Product B', 2200);使用GROUP BY子句对数据进行分组和聚合计算。例如,按地区和产品对销售数据进行分组,并计算每个组的总收入:SELECT region, product, SUM(revenue) as total_revenueFROM sales_dataGROUP BY region, product;这将返回以下结果:
region | product | total_revenue----------------+---------+--------------- North America | Product A | 1000.00 North America | Product B | 2000.00 Europe | Product A | 1500.00 Europe | Product B | 1800.00 Asia | Product A | 2500.00 Asia | Product B | 2200.00在此示例中,我们使用了SUM()聚合函数来计算每个组的总收入。除了SUM()之外,还有许多其他聚合函数可用于PostgreSQL,如COUNT()、AVG()、MIN()和MAX()等。您可以根据需要选择适当的聚合函数来满足您的查询需求。