求:oracle SQL 分组后去其中任意两条记录。

haoztao 2013-08-06 11:10:54
比如有如下记录:
col1 col2
张三 A02
张三 C01
张三 A01
张三 B02
李四 A02
李四 C01
李四 A01
李四 B02
王五 A02
王五 C01
王五 A01
王五 B02
想要结果:
col1 col2
张三 A02
张三 C01
李四 C01
李四 A01
王五 A01
王五 B02
也就是说每个人的任意两条数据
...全文
240 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
super007007007 2013-08-26
  • 打赏
  • 举报
回复

SELECT COL1,COL2 FROM 
  (SELECT T.*,ROW_NUMBER() OVER(PARTITION BY COL1 ORDER BY DBMS_RANDOM.VALUE) RN FROM T )
  WHERE RN<=2
airelisa 2013-08-26
  • 打赏
  • 举报
回复
引用 1 楼 u010412956 的回复:
试试这个sql可否:
 SELECT COL1,COL2 FROM 
  (SELECT T.*,ROW_NUMBER() OVER(PARTITION BY COL1 ORDER BY COL2) RN FROM T )
  WHERE RN<=2
学习了
u010412956 2013-08-06
  • 打赏
  • 举报
回复
试试这个sql可否:
 SELECT COL1,COL2 FROM 
  (SELECT T.*,ROW_NUMBER() OVER(PARTITION BY COL1 ORDER BY COL2) RN FROM T )
  WHERE RN<=2
aio_o 2013-08-06
  • 打赏
  • 举报
回复
分析函数过硬啊...

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧