group by 多个字段
时间: 2023-09-27 14:09:03 浏览: 46
可以使用GROUP BY语句按照多个字段进行分组。语法如下:
SELECT column1, column2, COUNT(*)
FROM table_name
GROUP BY column1, column2;
在上面的语法中,我们选择了两个列(column1和column2)并使用它们进行分组。GROUP BY语句将基于这两个列的组合创建分组。我们还使用COUNT(*)函数来计算每个组中的行数。
例如,假设我们有一个包含以下数据的表:
| id | name | country |
|----|------|---------|
| 1 | John | USA |
| 2 | Jane | USA |
| 3 | Bob | Canada |
| 4 | Mary | Canada |
| 5 | Tom | Mexico |
我们可以使用以下查询按国家和名称分组:
SELECT country, name, COUNT(*)
FROM table_name
GROUP BY country, name;
这将生成以下结果:
| country | name | COUNT(*) |
|---------|------|----------|
| USA | Jane | 1 |
| USA | John | 1 |
| Canada | Bob | 1 |
| Canada | Mary | 1 |
| Mexico | Tom | 1 |
在这里,我们按照国家和名称对数据进行了分组,并使用COUNT(*)函数计算了每个组中的行数。