Mysql SQL-根据不同列中的值筛选重复行

Mysql SQL-根据不同列中的值筛选重复行,mysql,sql,duplicates,Mysql,Sql,Duplicates,我有一个SQL表: +-------------+-----------+---------+ | ID | position | user | +-------------+-----------+---------+ | 1 | 1 | 0 | | 2 | 2 | 0 | | 3 | 3 | 0 | | 4

我有一个SQL表:

+-------------+-----------+---------+
|     ID      |  position |  user   |
+-------------+-----------+---------+
|      1      |     1     |     0   |
|      2      |     2     |     0   |
|      3      |     3     |     0   |
|      4      |     4     |     0   |
|      5      |     5     |     0   |
|      6      |     6     |     0   |
|      7      |     7     |     0   |
|      8      |     7     |     1   |
+-------------+-----------+---------+
我想根据position列和user列的distinct值过滤重复行,对于第一个查询,我需要得到以下结果:

+-------------+-----------+---------+
|     ID      |  position |  user   |
+-------------+-----------+---------+
|      1      |     1     |     0   |
|      2      |     2     |     0   |
|      3      |     3     |     0   |
|      4      |     4     |     0   |
|      5      |     5     |     0   |
|      6      |     6     |     0   |
|      8      |     7     |     1   |
+-------------+-----------+---------+
对于第二个查询,我需要以下内容:

+-------------+-----------+---------+
|     ID      |  position |  user   |
+-------------+-----------+---------+
|      1      |     1     |     0   |
|      2      |     2     |     0   |
|      3      |     3     |     0   |
|      4      |     4     |     0   |
|      5      |     5     |     0   |
|      6      |     6     |     0   |
|      7      |     7     |     0   |
+-------------+-----------+---------+
我需要什么查询来实现这一点


谢谢。

在没有进一步信息的情况下,以下两个查询假设您希望通过在第一种情况下取较大(最大)
user
值或在第二种情况下取较小(最小)
user
值来解决重复位置

第一个问题:

SELECT t1.*
FROM yourTable t1
INNER JOIN
(
    SELECT position, MAX(user) AS max_user
    FROM yourTable
    GROUP BY position
) t2
    ON t1.position = t2.position AND
       t1.user     = t2.max_user
第二个问题:

SELECT t1.*
FROM yourTable t1
INNER JOIN
(
    SELECT position, MIN(user) AS min_user
    FROM yourTable
    GROUP BY position
) t2
    ON t1.position = t2.position AND
       t1.user     = t2.min_user

谢谢,这正是我想要的。如果它取另一个值(例如2),会怎么样?在这种情况下,您需要什么?