row_number() over使用方法

用示例说明   " row_number() over(partition by【column1】order by 【column2】)   " 的使用方法

1、执行前数据库表内容

 

序号   组名称 组成员名称
1305   XL 大专
1306   XL 本科
1307   XL 研究生及以上
1308   XL 其它
1309   XL 中专
1310   XL 高中
1514   ZJLX 身份证
1515   ZJLX 军官证
1501   ZY 公务员
1502   ZY 教师
1503   ZY 学生
1504   ZY 军人
1505   ZY 工人
1506   ZY 农民
1507   ZY 医务人员
1508   ZY 科技人员
1509   ZY 企事业单位行政/管理人员
1510   ZY 家庭主妇
1511   ZY 下岗职工
1512   ZY 退休人员
1801   ZZMM 党员
1802   ZZMM 团员
1803   ZZMM 民主党派
1804   ZZMM 群众

2、sql执行结果:

select *
  from (  select t.paramid,
                 row_number() over(partition by t.paramcode order by t.paramid) 组内成员序号,
                 t.paramcode 组名称,
                 t.paramKey 组成员
          from t_sysparam t) t2
 where t2.组内成员序号 <= 3

 

扫描二维码关注公众号,回复: 1369485 查看本文章
序号 组内成员序号 组名称 组成员名称
1305 1 XL 大专
1306 2 XL 本科
1307 3 XL 研究生及以上
1514 1 ZJLX 身份证
1515 2 ZJLX 军官证
1501 1 ZY 公务员
1502 2 ZY 教师
1503 3 ZY 学生
1801 1 ZZMM 党员
1802 2 ZZMM 团员
1803 3 ZZMM 民主党派

概述用途:1、删除数据库表中重复数据 (删除‘组内成员序号’大于1的数据)2、查询分组中的前几条数据

猜你喜欢

转载自DSH.iteye.com/blog/1579565