在mysql中只选择唯一的行

2 mysql select unique

我想根据mysql表中的列userid只选择唯一的行.因此,如果我有两个具有相同用户ID的行,则它们中没有一个被选中,但如果它只有一个被选中.

我使用以下代码:

SELECT T.id,T.name,T.userid FROM tbltest T WHERE userid NOT IN (SELECT userid FROM tbltest WHERE tbltest.id<>T.id);
Run Code Online (Sandbox Code Playgroud)

这是最快的方法吗?

谢谢!

Haw*_*ger 11

这怎么样

SELECT T.id,T.name,T.userid 
FROM tbltest T 
GROUP BY T.userid
HAVING COUNT(T.userid) = 1;
Run Code Online (Sandbox Code Playgroud)