Mysql SQL:将集合中的正确字段插入示例

Mysql SQL:将集合中的正确字段插入示例,mysql,sql,Mysql,Sql,我有一个简单的查询,通过ext_id查找重复项: SELECT s.ext_id, count(s.ext_id), s.id FROM sale_point AS s GROUP BY s.ext_id HAVING count(s.ext_id) > 1; 问题是它用找到的第一个id代替了s.id,但我需要找到的最后一个id 请告诉我如何在字段中放置上次找到的id 例如: 我在mariaDB中有一组条目,字段如下: +--------+------------+ | id |

我有一个简单的查询,通过ext_id查找重复项:

SELECT s.ext_id, count(s.ext_id), s.id
FROM sale_point AS s
GROUP BY s.ext_id
HAVING count(s.ext_id) > 1;
问题是它用找到的第一个id代替了s.id,但我需要找到的最后一个id

请告诉我如何在字段中放置上次找到的id

例如:

我在mariaDB中有一组条目,字段如下:

+--------+------------+
| id     | ext_id     |
+--------+------------+
| 376764 | 2065277658 |
+--------+------------+
| 390836 | 2065277658 |
+--------+------------+
结果将是:

+------------+-----------------+--------+
| ext_id     | count(s.ext_id) | id     |
+------------+-----------------+--------+
| 2065277658 |               2 | 376764 |
+------------+-----------------+--------+

在本例中,集合376764中显示了第一个id,但我需要最后一个390836。

您的查询没有意义,因为您正在按s.ext\u id分组并聚合s.ext\u id! 你可以做:

SELECT s.ext_id, count(s.id), max(s.id)
FROM sale_point AS s
GROUP BY s.ext_id
HAVING count(s.id) > 1;
按s.ext_id分组并计算s.id。 它还返回s.id的最大值。

最后一个找到的值,这是否仅仅意味着您想要maxs.id

SELECT s.ext_id, count(s.ext_id), max(s.id)
FROM sale_point AS s
GROUP BY s.ext_id
HAVING count(s.ext_id) > 1;
最后一个被找到,这仅仅意味着你想要maxs.id吗?请定义是什么使一个s.id值成为最后一个被找到的值。我猜您在这里使用的是MySQL。