0

非常に速いもの:

私は以前にこれをやったことがありますが、今は少し頭が空っぽです。

SELECT max(id) as id, username, email 
FROM user_info 
WHERE username!='' 
GROUP by id,email

残念ながら、これは機能していません。最大IDを選択しますが、その行から対応するデータは選択しません。

4

2 に答える 2

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

SQL FiddlewithDemoを参照してください

于 2012-12-06T14:46:19.880 に答える
0
Select DISTINCT(email), MAX(id)
FROM user_info
GROUP by email
ORDER BY id DESC
于 2012-12-06T16:19:31.010 に答える