SQLite Group By 学习笔记
SQLite 的 GROUP BY 子句允许我们对查询结果进行分组汇总,其中每个分组都满足一定的条件。 GROUP BY 子句通常和聚合函数一起使用,用于计算每个分组的聚合值。
基本语法
下面是 GROUP BY 子句的基本语法:
sqlCopy CodeSELECT 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 CodeSELECT EmployeeID, count(*) as OrdersCount
FROM Orders
GROUP BY EmployeeID;
执行结果如下:
EmployeeID | OrdersCount |
---|---|
3 | 1 |
4 | 2 |
5 | 1 |
6 | 1 |
这个查询语句先以 EmployeeID 为分组依据对表进行分组,然后对每个分组执行 count(*) 聚合函数来计算订单数量。最后得到每个员工的订单数量。