非常快:
我以前做过这个,但现在有点空白。
SELECT max(id) as id, username, email
FROM user_info
WHERE username!=''
GROUP by id,email
不幸的是,这不起作用。它将选择最大id,但不会选择该行的相应数据。
答案 0 :(得分:1)
如果每个电子邮件地址有多个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
答案 1 :(得分:0)
Select DISTINCT(email), MAX(id)
FROM user_info
GROUP by email
ORDER BY id DESC