去重
1.distinct去重
selectdistinctname,agefromtest
2.groupby去重
selectname,agefromtestgroupbyname,age;
3.rowid(伪列去重)如果step_id也要要求去重就把条件加上去,如果不需要去重则不加
selectsfc_no,step_idfromAAA_HCt1
wheret1.rowidin(selectmin(rowid)fromAAA_HCt2wheret1.sfc_no=t2.sfc_no
--andt1.step_id=t2.step_id
);
4.窗口函数row_number()over()去重如果step_id也要要求去重就把条件加上去,如果不需要去重则不加
selectt.sfc_no,t.step_idfrom
(selectrow_number()over(partitionbysfc_no
--,step_id
orderbystep_id)rank,AAA_HC.*fromAAA_HC)t
wheret.rank=1;
row_number()over(partitionbySFC_NOorderbyCREATE_DATEdesc)rn
为新增一个名为rn的排名的列,partitionby列名(需要分组的列)orderby列名(需要排名的列)
结果
SFC_NOCREATE_DATErn
aaa2022-09-221
aaa2022-09-212
aaa2022-09-203
bbb2022-09-221
bbb2022-09-212
bbb2022-09-203
|