sql - 如何选择具有最小值的不同行

标签 sql sql-server database

我想要一个 SQL 语句来获取具有最小值的行。

数据库

ig_idx    ig_team1  ig_team2  rl_league  rl_image          rl_sports   ig_status   cnt
410296   aaaaa      xxxxx     BRA D2     icon_BRA D2.png   7           S           3
410298   aaaaa      xxxxx     BRA D2     icon_BRA D2.png   7           S           3
410299   aaaaa      yyyyy     BRA D2     icon_BRA D2.png   7           S           3
410301   bbbbb      yyyyy     BRA D2     icon_BRA D2.png   7           S           2
410304   bbbbb      yyyyy     BRA D2     icon_BRA D2.png   7           S           2
410306   ccccc      zzzzz     BRA D2     icon_BRA D2.png   7           S           2

如何选择点列中具有最小值的id?像这样……

ig_idx    ig_team1  ig_team2  rl_league  rl_image          rl_sports    ig_status   cnt
410296    aaaaa     xxxxx     BRA D2     icon_BRA D2.png   7            S            3
410301    bbbbb     yyyyy     BRA D2     icon_BRA D2.png   7            S            2
410306    ccccc     zzzzz     BRA D2     icon_BRA D2.png   7            S            2

最佳答案

使用row_number():

select t.*
from (select t.*,
             row_number() over (partition by ig_team order by ig_idx asc) as seqnum
      from t
     ) t
where seqnum = 1;

关于sql - 如何选择具有最小值的不同行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46750577/

相关文章:

c# - 本地数据库插入未存储

sql - 在 SQL Server 中将每三行分组为一组

c# - SqlDataAdapter 不填充 DataSet

java - 制作主键列 varchar(max) 的替代方法

sql - 从 SQL Server 数据库中的文件路径获取文件信息

mysql - 在SQL中,两个表可以互相引用吗?

database - 计算过载时的数据库性能

mysql - 像数组一样迭代结果集

mysql - 表间SQL查询

sql-server - ssis - 没有为一个或多个必需参数给出值