用于添加显示数据集中第n次出现唯一ID的另一列的SQL



我有一个病人就诊表,每一行代表一次就诊。有一个列具有唯一的患者ID,表示访问的是哪个客户。我想添加另一列,显示该患者ID在数据集中的第n次出现。第一次访问显示1,第二次访问显示2,以此类推。我试着搜索类似的问题,但还没有找到任何东西,你的帮助将非常感激!

您可以使用row_number():

枚举值
select v.*,
row_number() over (partition by patient_id order by visit_date) as seqnum
from visits v;

这被称为窗口函数(或者更具体地说是排序函数)。它为每个"分区"从1开始枚举没有空格的行。(即每个patient_id)。order by指定顺序。

最新更新