首页 > 解决方案 > 使用计数选择最小值和最大值

问题描述

我有一个名为“医疗报告”的表格,我需要选择处方中的最小日期、最大日期以及特定帐号、代码的相应活动状态

Accountnumber code   prescriptionwritten.  Active      
101            201          2019-10-21         0          
101            201          2020-03-24         0     
101            201          2020-05-25         1     
101            202          2019-10-21         0     
101            202          2020-06-20         1

请帮忙查询sql。

输出:

101 201 2019-10-21 0  
101 201 2020-05-25 1  
101 202 2019-10-21 0  
101 202 2020-06-20 1

标签: sql

解决方案


您可以尝试使用row_number()

select * from
(
select *,row_number() over(partition by code order by prescriptionwritten) as minrn,
row_number() over(partition by code order by prescriptionwritten desc) as maxrn
from tablename
)A where minrn=1 or maxrn=1

推荐阅读