有这么一个需求,需要获取供应商名称相同的第一条数据,如图:

 

 SELECT sp_vendor_id, account_name
 
FROM finance_sp_vendor_hexh 

 

 

分组查询重复的数据的第一条数据

需要不重复的查询供应商列表,取出id值最小的供应商(问题的关键是要获取到供应商Id)。

使用下面的方法

 

 SELECT sp_vendor_id, account_name,RANK () OVER (PARTITION BY account_name ORDER BY sp_vendor_id ASCAS a 
 
FROM finance_sp_vendor_hexh 

 

注意到rank()的用法。上面程序的意思为按照account_name分组并对account_name排序

结果如下

分组查询重复的数据的第一条数据

然后取出所有a列为1的行即可。完成代码

 

代码
SELECT x.sp_vendor_id, x.account_name
  
FROM (SELECT *,RANK () OVER (PARTITION BY account_name ORDER BY sp_vendor_id ASCAS a 
                 
FROM finance_sp_vendor_hexh WHERE CP_Type=0)x WHERE a=1

 

分组查询重复的数据的第一条数据

相关文章:

  • 2021-12-11
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-06
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-07-02
  • 2022-12-23
  • 2022-12-23
  • 2021-09-03
  • 2022-01-19
  • 2021-09-18
相关资源
相似解决方案