📜  PostgreSQL – GROUP BY 子句

📅  最后修改于: 2022-05-13 01:57:15.548000             🧑  作者: Mango

PostgreSQL – GROUP BY 子句

PostgreSQL GROUP BY 子句用于将 SELECT 语句返回的行划分为不同的组。 GROUP BY 子句的特点是可以使用SUM()类的函数来计算项目的总和,或者使用COUNT()来获取组中项目的总数。

Syntax:
SELECT 
   column_1, 
   column_2,
   computing_function(column_3)
FROM 
   table_name
GROUP BY 
   column_1,
   column_2;

需要注意的是 GROUP BY 子句必须完全出现在 FROM 或 WHERE 子句之后。

在本文中,我们将使用示例 DVD 租赁数据库,此处进行了说明,可以通过单击示例中的此链接进行下载。

示例 1:

在这里,我们将从支付表中查询数据,并根据示例数据库的“支付”表中的客户 ID 对结果进行分组。

SELECT
   customer_id
FROM
   payment
GROUP BY
   customer_id;

输出:

示例 2:
在这里,我们将查询以获取每个客户迄今为止支付的金额,并使用聚合函数(即 SUM())来执行此操作,并根据示例数据库的“payment”表中的 customer_id 将它们分组。



SELECT
    customer_id,
    SUM (amount)
FROM
    payment
GROUP BY
    customer_id;

输出:

示例 3:
在这里,我们将进行查询以计算每个员工已经处理的支付交易数量,您根据员工 ID 对支付表中的行进行分组,并使用 COUNT()函数获取交易数量。

SELECT
    staff_id,
    COUNT (payment_id)
FROM
    payment
GROUP BY
    staff_id;

输出: