Tsql 如何用min语句显示所有列?

Tsql 如何用min语句显示所有列?,tsql,Tsql,所以我想得到一个表的最小值,而不使用top语句。我想到了这个 select min(deathdate) from players 但它的缺点是只显示一列。我想把所有的专栏都当作 select * from players 那么如何组合显示所有列的min语句呢。希望它尽可能简单。如果不是min语句,如何在不使用top 1的情况下获取top 1语句?使用子查询: select * from players where deathdate = (select min(deathdate) fro

所以我想得到一个表的最小值,而不使用top语句。我想到了这个

select min(deathdate) from players
但它的缺点是只显示一列。我想把所有的专栏都当作

select * from players
那么如何组合显示所有列的min语句呢。希望它尽可能简单。如果不是min语句,如何在不使用top 1的情况下获取top 1语句?

使用子查询:

select * from players
where deathdate = (select min(deathdate) from players)
无需使用
top
即可轻松完成


请注意,这不会破坏关系-如果两个人的死亡日期相同,两人都将返回。要打破关系:

select *, row_number() over (order by name) rn from players
where deathdate = (select min(deathdate) from players)
and rn = 1
使用子查询:

select * from players
where deathdate = (select min(deathdate) from players)
无需使用
top
即可轻松完成


请注意,这不会破坏关系-如果两个人的死亡日期相同,两人都将返回。要打破关系:

select *, row_number() over (order by name) rn from players
where deathdate = (select min(deathdate) from players)
and rn = 1

如果死亡日期有相同值的倍数呢。然后你如何选择第一个按字母顺序命名的玩家。如果死亡日期有多个相同的值呢。然后如何选择第一个按字母顺序命名的玩家。