非常快的一个:
我以前也这样做过,但现在脑子一片空白。
SELECT max(id) as id, username, email
FROM user_info
WHERE username!=''
GROUP by id,email
不幸的是,这不起作用。它将选择最大 ID,但不会选择该行中的相应数据。
最佳答案
如果每个电子邮件地址有多个 ID,则可以使用 max(id)
并仅按电子邮件进行分组。
SELECT max(id) as id, username, email
FROM user_info
WHERE username <> ''
GROUP by email, username
罢工><罢工>罢工>
您可以使用子查询,该子查询将返回子查询中的最大 id,然后使用它在表上自连接以返回最新的 id、用户名和电子邮件:
SELECT u.id, u.username, u.email
FROM user_info u
INNER JOIN
(
select max(id) maxid, email
from user_info
where username <> ''
group by email
) u2
on u.id = u2.maxid
关于mysql - 从表中选择最新的不同电子邮件地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13746010/