ID FirstName LastName
1 John Doe
2 Bugs Bunny
3 John Johnson
我想从FirstName列中选择DISTINCT结果,但我需要相应的ID和LastName。
结果集只需要显示一个John,但是ID为1,LastName为Doe。
ID FirstName LastName
1 John Doe
2 Bugs Bunny
3 John Johnson
我想从FirstName列中选择DISTINCT结果,但我需要相应的ID和LastName。
结果集只需要显示一个John,但是ID为1,LastName为Doe。
当前回答
您可以使用组by来显示不同的值和相应的字段。
select * from tabel_name group by FirstName
现在你得到了这样的输出:
ID FirstName LastName
2 Bugs Bunny
1 John Doe
如果你想回答的话
ID FirstName LastName
1 John Doe
2 Bugs Bunny
然后使用这个查询,
select * from table_name group by FirstName order by ID
其他回答
不确定是否可以用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
否则,您可能不得不使用临时表。
试试这个查询
SELECT ID, FirstName, LastName FROM table GROUP BY(FirstName)
如何
`SELECT
my_distinct_column,
max(col1),
max(col2),
max(col3)
...
FROM
my_table
GROUP BY
my_distinct_column`
SELECT ID,LastName
From TABLE_NAME
GROUP BY FirstName
HAVING COUNT(*) >=1
SELECT DISTINCT (column1), column2
FROM table1
GROUP BY column1