我的表有 2 列:Emp_Name
and Emp_NR
.
有可能发生这样的情况Emp_Name
值有 2 个不同Emp_NR
values.
我想创建一个SELECT
仅获取单个值的语句Emp_Name
and Emp_NR
该语句应类似于 Teradata 中的内容:
SELECT
Emp_Name,
Emp_NR
FROM Table
QUALIFY Row_Number OVER (PARTITION BY Emp_Name ORDER BY Emp__NR DESC) = 1
除此之外,我还想获得最高的Emp_NR
被分配给特定的Emp_Name
.
另一种方法是使用ORDER BY
结合TOP 1 WITH TIES
:
SELECT TOP 1 WITH TIES Emp_Name, Emp_NR
FROM Table
ORDER BY ROW_NUMBER() OVER (PARTITION BY Emp_Name ORDER BY Emp_NR DESC);
性能可能比使用子查询的解决方案稍差。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)