在PostgreSQL(通常稱為PgSQL)中,GROUP BY
子句用于將相似的行分組在一起,以便對每個組執行聚合函數
首先,確保已經安裝并運行了PostgreSQL。然后,使用適當的工具(如pgAdmin、DBeaver或命令行)連接到數據庫。
假設我們有一個名為"sales"的表,其中包含以下列:id(唯一標識符)、product_name(產品名稱)、quantity(銷售數量)和sale_date(銷售日期)。
CREATE TABLE sales (
id SERIAL PRIMARY KEY,
product_name VARCHAR(255) NOT NULL,
quantity INTEGER NOT NULL,
sale_date DATE NOT NULL
);
INSERT INTO sales (product_name, quantity, sale_date) VALUES ('Product A', 10, '2021-01-01');
INSERT INTO sales (product_name, quantity, sale_date) VALUES ('Product B', 20, '2021-01-01');
INSERT INTO sales (product_name, quantity, sale_date) VALUES ('Product A', 30, '2021-01-02');
INSERT INTO sales (product_name, quantity, sale_date) VALUES ('Product B', 40, '2021-01-02');
GROUP BY
子句按產品名稱對銷售數據進行分組,并計算每個產品的總銷售數量:SELECT product_name, SUM(quantity) as total_quantity
FROM sales
GROUP BY product_name;
這將返回以下結果:
product_name | total_quantity
--------------+---------------
Product A | 40
Product B | 60
SELECT product_name, sale_date, SUM(quantity) as daily_total_quantity
FROM sales
GROUP BY product_name, sale_date;
這將返回以下結果:
product_name | sale_date | daily_total_quantity
--------------+------------+---------------------
Product A | 2021-01-01 | 10
Product B | 2021-01-01 | 20
Product A | 2021-01-02 | 30
Product B | 2021-01-02 | 40
這就是如何在PostgreSQL(PgSQL)中使用GROUP BY
子句進行數據篩選的基本方法。根據需要,您可以結合其他子句(如WHERE
、HAVING
等)來定制查詢。