SQLite Group By 学习笔记

SQLite 的 GROUP BY 子句允许我们对查询结果进行分组汇总,其中每个分组都满足一定的条件。 GROUP BY 子句通常和聚合函数一起使用,用于计算每个分组的聚合值。

基本语法

下面是 GROUP BY 子句的基本语法:

sqlCopy Code
SELECT column1, column2, ..., aggregate_function(column_name) FROM table_name WHERE condition GROUP BY column1, column2, ...;
  • column1, column2, ...:要显示的列名;
  • aggregate_function(column_name):聚合函数,应用于某个列名;
  • table_name:查询的表名;
  • condition:查询条件(可选);
  • GROUP BY column1, column2, ...:分组依据的列名。

示例

假设我们有以下一个 Orders 表:

OrderID CustomerID EmployeeID OrderDate ShipperID
10248 VINET 5 1996-07-04 3
10249 TOMSP 6 1996-07-05 1
10250 HANAR 4 1996-07-08 2
10251 VICTE 3 1996-07-08 1
10252 SUPRD 4 1996-07-09 2

我们可以使用以下查询语句,按照员工 ID 分组,并计算每个员工的订单数量:

sqlCopy Code
SELECT EmployeeID, count(*) as OrdersCount FROM Orders GROUP BY EmployeeID;

执行结果如下:

EmployeeID OrdersCount
3 1
4 2
5 1
6 1

这个查询语句先以 EmployeeID 为分组依据对表进行分组,然后对每个分组执行 count(*) 聚合函数来计算订单数量。最后得到每个员工的订单数量。