非常快的一个:
我以前做过,但现在脑子有点空白。
SELECT max(id) as id, username, email
FROM user_info
WHERE username!=''
GROUP by id,email
不幸的是,这不起作用。它将选择最大 id,但不会选择该行中的相应数据。
非常快的一个:
我以前做过,但现在脑子有点空白。
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
Select DISTINCT(email), MAX(id)
FROM user_info
GROUP by email
ORDER BY id DESC