这是表格:
Order_ID|Priority|Status
A |3 |Normal
A |4 |Urgent
B |6 |Urgent
B |7 |Normal
C |8 |Normal
C |9 |Urgent
如何选择 Order_ID 和 Status,其中行的优先级对于该 ID 更高?例如,在这种情况下,给出上述数据的查询输出应该是:
A - Urgent
B - Normal
C - Urgent
最佳答案
一种方法是这样的:
select order_id || ' - ' || status
from (
select order_id, priority, status,
rank() over (partition by order_id order by priority desc) ranking
from table
)
where ranking = 1;
关于SQL 条件选择与 for/while 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44932542/