Northwind表中:select * from [order details] ,我想查出每个orderid的前3个数据该怎么写呀?是只显示每个orderid的前3条。
解决方案 »
- 数据库搜索
- 求教:多条件计算查询问题
- SQL2005插入之后查询的问题
- 如何解決簡體字和繁體字的共存啊?
- 求表中记录总行数
- 2005开发版的安装在XP的问题
- 如何在查询分析器中执行一个sql文件,直接用语句.不要手工加进来.如何写现啊?
- vista(Home Basic)系统下SQL2005JDBC直连为什么不能用呀?请高手帮我解决呀,急呀!
- 高分求救:为何所有ACCESS数据库表全部无法打开?
- 错误语法“create rule"必须是批处理中仅有的语句,怎么修改
- select sum(A)/sum(B),sum(C),sum(D) from D ...当sum(B)=0时如何处理?
- 触发器保存不上!
where 3>(select count(1) from [order details] T2 where T2.orderid=T1.orderid and T2.ProductID<T1.ProductID)
where (select count(1) from [order details] b where b.orderid=a.orderid and b.c_? <= a.c_?) <= 3
--每个货品的前3条
select * from [order details] a
where 3>(SELECT COUNT(*) FROM [order details] b WHERE a.ProductID<b.ProductID and a.OrderID=b.OrderID)
select * from Northwind..[order details] a
where (select count(*) from Northwind..[order details] where orderid = a.orderid and quantity > a.quantity) < 3
----求每个OrderID的前三行
if object_id('tempdb..#tmp') is not null
drop table #tmp
select id = identity(int,1,1),* into #tmp from Northwind..[order details]
select * from #tmp a
where (select count(*) from #tmp where orderid = a.orderid and id < a.id) < 3
drop table #tmp
where orderid in (select top 3 orderid from tab a where a.pk = pk order by orderid desc)2 select * from tab
where not exists (select 1 from tab a where a.pk = pk and orderid < b.orderid having count(1) < 3)