ID   FirstName   LastName
1      John        Doe
2      Bugs        Bunny
3      John        Johnson

我想从FirstName列中选择DISTINCT结果,但我需要相应的ID和LastName。

结果集只需要显示一个John,但是ID为1,LastName为Doe。


当前回答

试试这个查询

 SELECT ID, FirstName, LastName FROM table GROUP BY(FirstName)

其他回答

SELECT ID,LastName 
From TABLE_NAME 
GROUP BY FirstName 
HAVING COUNT(*) >=1
SELECT DISTINCT (column1), column2
FROM table1
GROUP BY column1
SELECT DISTINCT(firstName), ID, LastName from tableName GROUP BY firstName

在我看来这是最好的选择吗

SELECT firstName, ID, LastName from tableName GROUP BY firstName

不确定是否可以用MySQL做到这一点,但你可以在T-SQL中使用CTE

; WITH tmpPeople AS (
 SELECT 
   DISTINCT(FirstName),
   MIN(Id)      
 FROM People
)
SELECT
 tP.Id,
 tP.FirstName,
 P.LastName
FROM tmpPeople tP
JOIN People P ON tP.Id = P.Id

否则,您可能不得不使用临时表。