Select 每个标识符有多行的列表的第一行
Select first row from a list that have multiple row for each identifier
我有以下数据:
Column_A
Column_B
123456
678
123456
999
我想实现以下结果:
Column_A
Column_B
123456
999
这是我的代码:
SELECT COLUMN_A, MAX(COLUMN_B) FROM TABLE;
是否有任何替代方法可以使用 max(Column_B) 函数来实现结果?我无法使用 max() 函数,因为它在我正在使用的数据库中被禁用。提前致谢!
除了子查询之外,还可以同时使用 ROW_NUMBER()
、ORDER BY
和 GROUP BY
语句,如下所示:
SELECT column_a, column_b
FROM(
SELECT column_a, column_b, row_number() over (partition by column_a order by column_b desc) as rownum
FROM table
)
WHERE rownum=1;
我有以下数据:
Column_A | Column_B |
---|---|
123456 | 678 |
123456 | 999 |
我想实现以下结果:
Column_A | Column_B |
---|---|
123456 | 999 |
这是我的代码:
SELECT COLUMN_A, MAX(COLUMN_B) FROM TABLE;
是否有任何替代方法可以使用 max(Column_B) 函数来实现结果?我无法使用 max() 函数,因为它在我正在使用的数据库中被禁用。提前致谢!
除了子查询之外,还可以同时使用 ROW_NUMBER()
、ORDER BY
和 GROUP BY
语句,如下所示:
SELECT column_a, column_b
FROM(
SELECT column_a, column_b, row_number() over (partition by column_a order by column_b desc) as rownum
FROM table
)
WHERE rownum=1;