博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sql如何取每组中的前N个
阅读量:5040 次
发布时间:2019-06-12

本文共 832 字,大约阅读时间需要 2 分钟。

--建立测试环境

create table ta3(id varchar(4),repairvalue numeric(4,2),pieceid varchar(2),facid varchar(8))
insert into ta3
select '01',4.6,'1','aaa'
union all select '02',2,'1','aaa'
union all select '03',0,'1','aaa'
union all select '04',3,'1','aaa'
union all select '05',5,'1','aaa'
union all select '06',4.6,'2','aaa'
union all select '07',7.8,'2','aaa'
union all select '08',0,'2','aaa'
union all select '09',5,'2','aaa'
union all select '10',3,'2','aaa'
--测试
Select id,repairvalue,pieceid from ta3 A
Where Not Exists(Select 1 from ta3 Where pieceid=A.pieceid And repairvalue>A.repairvalue Having Count(1)>2) --这里N取3
Order By pieceid,repairvalue Desc
--删除测试环境
Drop Table ta3
--结果
/*
id repairvalue pieceid
05 5.00 1
01 4.60 1
04 3.00 1
07 7.80 2
09 5.00 2
06 4.60 2
*/ 

转载于:https://www.cnblogs.com/xmxu/archive/2012/07/12/2588700.html

你可能感兴趣的文章
H5点击拨打电话,发短信
查看>>
1-VScode格式化ESlint-方法(最全最好用方法!)
查看>>
c#的委托实例
查看>>
查询当前数据库中表的存储信息
查看>>
Git之设置对文件名大小写敏感
查看>>
网易mumu模拟器配置文件和修改adb port位置
查看>>
Android adb shell命令大全
查看>>
DataTable的初始化与常见案例
查看>>
多点触控显示坐标
查看>>
week2
查看>>
NOI2005 瑰丽华尔兹
查看>>
Tkinter学习笔记-1
查看>>
UNIX高级环境编程(1)File I/O
查看>>
剑指offer python版 数据流中的中位数
查看>>
2.android
查看>>
Linux后台进程管理的命令小结
查看>>
hdu 4571 floyd+动态规划
查看>>
20155315庄艺霖第三次作业之Linux初体验
查看>>
在内存中创建原图的副本
查看>>
Ext ApplicationController&ref的使用
查看>>