PostgreSQL插入數據(INSERT語句)
PostgreSQL查詢數據(SELECT語句)
PostgreSQL更新數據(UPDATE語句)
PostgreSQL刪除數據(DELETE語句)
PostgreSQL ORDER BY子句
PostgreSQL分組(GROUP BY子句)
PostgreSQL Having子句
PostgreSQL條件查詢
PostgreSQL AND條件
PostgreSQL OR條件
PostgreSQL AND & OR條件
PostgreSQL NOT條件
PostgreSQL LIKE條件
PostgreSQL IN條件
PostgreSQL NOT IN條件
PostgreSQL BETWEEN條件
PostgreSQL分組(GROUP BY子句)
PostgreSQL GROUP BY
子句用於將具有相同數據的表中的這些行分組在一起。 它與SELECT
語句一起使用。
GROUP BY
子句通過多個記錄收集數據,並將結果分組到一個或多個列。 它也用於減少輸出中的冗餘。
語法:
SELECT column-list
FROM table_name
WHERE [conditions ]
GROUP BY column1, column2....columnN
ORDER BY column1, column2....columnN
注意:在
GROUP BY
多個列的情況下,您使用的任何列進行分組時,要確保這些列應在列表中可用。
看看下面的例子:
我們來看一下表「EMPLOYEES
」,具有以下數據。
執行以下查詢:
SELECT NAME, SUM(SALARY)
FROM EMPLOYEES
GROUP BY NAME;
查詢得到如下結果 -
如何減少冗餘數據:
再來看看下面這個例子:
我們在「EMPLOYEES
」表中插入一些重複的記錄。添加以下數據:
INSERT INTO EMPLOYEES VALUES (6, '李洋', 24, '深圳市福田區中山路', 135000);
INSERT INTO EMPLOYEES VALUES (7, 'Manisha', 19, 'Noida', 125000);
INSERT INTO EMPLOYEES VALUES (8, 'Larry', 45, 'Texas', 165000);
現在有以下數據,有一些數據是重複的 -
執行以下查詢以消除冗餘:
SELECT NAME, SUM(SALARY)
FROM EMPLOYEES
GROUP BY NAME;
上面的SQL語句是按名字(NAME
)執行分組統計每個名字的薪水總額,如:兩個名字叫作李洋的薪水總額是:320000
等等,得到結果如下 -
在上面的例子中,當我們使用GROUP BY NAME
時,可以看到重複的名字數據記錄被合併。 它指定GROUP BY
減少冗餘。