/* 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