我有一个这样的 MySQL 表:
--------------------------------------------------
| Field | Type | Null | Key | Default | Extra |
--------------------------------------------------
| A | int(11) | NO | PRI | NULL | |
--------------------------------------------------
| B | int(11) | NO | PRI | NULL | |
--------------------------------------------------
| C | int(11) | NO | | NULL | |
--------------------------------------------------
我想删除每个 A 值的所有行,其中 C 值不在该特定 A 的前 10 个(最大)C 值中。所以第一个 A 将保留 10 个值,第二个 A 保留 10 个值,10 个值对于第三...
谢谢
这是一个例子:
-------------
| A | B | C |
-------------
| 1 | 2 | 5 |
-------------
| 1 | 3 | 2 |
-------------
| 1 | 5 | 9 |
-------------
| 1 | 4 | 7 |
-------------
| 1 | 8 | 4 |
-------------
| 2 | 1 | 5 |
-------------
| 2 | 3 | 8 |
-------------
| 2 | 5 | 7 |
-------------
| 2 | 4 | 6 |
-------------
| 2 | 7 | 9 |
-------------
| 2 | 8 | 1 |
-------------
假设我只想要前 2 名,而不是前 10 名。那么结果:
-------------
| A | B | C |
-------------
| 1 | 5 | 9 |
-------------
| 1 | 4 | 7 |
-------------
| 2 | 7 | 9 |
-------------
| 2 | 3 | 8 |
-------------