不使用 GROUP BY 来移除重复列行,如何使用 MySQL group by 以单独的 id 来分组?


为此,你可以使用 DISTINCT 关键字。我们首先创建一个表 -

mysql> create table DemoTable1801
     (
     Name varchar(20),
     Score int
     );
Query OK, 0 rows affected (0.00 sec)

使用 insert 命令在表中插入一些记录 -

mysql> insert into DemoTable1801 values('John',98);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1801 values('John',98);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1801 values('John',99);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1801 values('Carol',99);
Query OK, 1 row affected (0.00 sec)

使用 select 语句从表中显示所有记录 -

mysql> select * from DemoTable1801;

这将产生以下输出 -

+-------+-------+
| Name  | Score |
+-------+-------+
| John  |    98 |
| John  |    98 |
| John  |    99 |
| Carol |    99 |
+-------+-------+
4 rows in set (0.00 sec)

以下是针对单独 id 进行分组的查询 -

mysql> select distinct Name,Score from DemoTable1801;

这将产生以下输出 -

+-------+-------+
| Name  | Score |
+-------+-------+
| John  |    98 |
| John  |    99 |
| Carol |    99 |
+-------+-------+
3 rows in set (0.00 sec)

更新于:2019-12-24

101 次浏览

职业好开始

通过完成课程获得认证

开始
广告