mysql groupby
时间: 2023-09-04 08:16:30 浏览: 93
MySQL中的GROUP BY是一个常用的聚合函数,它可以将查询结果按照指定的列进行分组,并对每个组进行聚合计算。
下面是一个简单的示例,假设我们有一个名为"students"的表,其中包含学生的姓名、年龄和成绩三个字段:
```
CREATE TABLE students (
name VARCHAR(50),
age INT,
score INT
);
INSERT INTO students (name, age, score)
VALUES
('Alice', 20, 90),
('Bob', 21, 80),
('Charlie', 22, 70),
('David', 20, 85),
('Emily', 21, 95);
```
我们可以使用GROUP BY来按照年龄分组,并计算每个年龄段的平均分数:
```
SELECT age, AVG(score) AS avg_score
FROM students
GROUP BY age;
```
执行以上语句会得到以下结果:
```
+-----+-----------+
| age | avg_score |
+-----+-----------+
| 20 | 87.500 |
| 21 | 87.500 |
| 22 | 70.000 |
+-----+-----------+
```
在GROUP BY子句中,我们指定了要按照年龄进行分组,然后使用AVG函数来计算每个组的平均分数。注意,我们在SELECT子句中使用了别名"avg_score"来给平均分数这一列取一个易于理解的名称。
除了AVG函数,MySQL还提供了其他聚合函数,如SUM、COUNT、MAX和MIN等,可以根据实际需要选择使用。同时,还可以使用HAVING子句过滤分组后的结果,以进一步筛选所需的数据。
阅读全文