【发布时间】:2016-01-04 03:06:30
【问题描述】:
我已经研究过这个问题,但我仍在努力编写一个有效的查询。非常感谢任何帮助。
表格
+----------+-------------+
| username | signup_date |
+----------+-------------+
| user1 | 2010-01-15 |
| user1 | 2010-02-15 |
| user2 | 2010-03-15 |
| user3 | 2010-04-15 |
| user3 | 2010-05-15 |
| user4 | 2010-06-15 |
| user5 | 2010-07-15 |
| user6 | 2010-08-15 |
| user6 | 2010-09-15 |
| user6 | 2010-10-15 |
+----------+-------------+
我想编写一个查询,只返回重复的用户名值和最近的注册日期。
期望的结果
+----------+-------------+
| username | signup_date |
+----------+-------------+
| user1 | 2010-02-15 |
| user3 | 2010-05-15 |
| user6 | 2010-10-15 |
+----------+-------------+
到目前为止,我有这个,但它没有过滤到 signup_date 的最大值。相反,它会返回每个重复的行。
SELECT users.username, users.signup_date
FROM users
INNER JOIN (SELECT username FROM users
GROUP BY username HAVING count(id) > 1) dup ON users.username = dup.username;
【问题讨论】:
标签: mysql select duplicates max