leetcode delete duplicate data in a table mailbox, and keep the smallest piece of id

 

/*
create view testview as SELECT subject,MIN(Id) as id FROM test GROUP BY subject;
select * FROM test WHERE id not in (SELECT id FROM testview);
*/
mysql> select * from test;
+----+------------+-------+-----------+
| id | name       | score | subject   |
+----+------------+-------+-----------+
|  1 | xiaoming   |    89 | shuxue    |
|  2 | xiaohong   |    89 | shuxue    |
|  3 | xiaohong   |    80 | english   |
|  4 | xiaohong   |    80 | physics   |
|  5 | xiaohong   |    80 | astronaut |
|  6 | xiaoming   |    80| Physics | 
|   . 7 | Xiaoming |     80 | Astronaut | 
|   . 8 | Xiaoming |     80 | Dictionary Dictionary English | 
|   . 9 | xiaobai |     80 | Astronaut | 
| 10 | . 1 .2xiaobai |     80 | Dictionary Dictionary English | 
| . 11 | 2 .2xiaobai |     80 | Physics | 
| 12 is | 3xiaobai |     80 | shuxue | 
| 13 is | 123xiaohei |     80 | Astronaut | 
| 14 | xiaohei    |    80 | shuxue    |
| 15 | xiaohei    |    80 | physics   |
| 16 | .12xiaohei |    80 | english   |
+----+------------+-------+-----------+
16 rows in set (0.00 sec)



mysql> create view testview as SELECT subject,MIN(Id) as id FROM test GROUP BY subject;
Query OK, 0 rows affected (0.01 sec)



mysql> select * FROM test WHERE id not in (SELECT id FROM testview);               +----+------------+-------+-----------+
| id | name       | score | subject   |
+----+------------+-------+-----------+
|  2 | xiaohong   |    89 | shuxue    |
|  6 | xiaoming   |    80 | physics   |
|  7 | xiaoming   |    80 | astronaut |
|  8 | xiaoming   |    80 | english   |
|  9 | xiaobai    |    80 | astronaut |
| 10 | 1.2xiaobai |    80 | english   |
|11| 2 .2xiaobai |     80 | Physics | 
| 12 is | 3xiaobai |     80 | shuxue | 
| 13 is | 123xiaohei |     80 | Astronaut | 
| 14 | xiaohei |     80 | shuxue | 
| 15 | xiaohei |     80 | Physics | 
| 16 | .12xiaohei |     80 | english | 
+ ---- + ------------ + ------- + ----------- + 12 rows in the SET ( 0.00 sec)
 

 

 

reference:

https://www.cnblogs.com/justdo-it/articles/8480460.html

 

Guess you like

Origin www.cnblogs.com/sea-stream/p/11351238.html