如何返回每个大类下的头三个小类?

5200 2004-11-16 10:18:11
表A big (bigID,bigName)
表B small (SmallID,SmallName,bigID)

bigID为俩表的关系键

big表中的每个bigID在small表中都有若干smallID

现要返回每个bigID下的头三个smallID,如何做?

bigID   smallID
----------------
1      2
1      4 
1      3 
2      15
2      7
2      9
3      1
3      16
3      10

...全文
115 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
davorsuker39 2004-11-17
  • 打赏
  • 举报
回复
SELECT TOP 3 smallID ,bigID FROM 表B GRUOP BY bigID
lzymagi 2004-11-17
  • 打赏
  • 举报
回复
头三个smallID?是指最小的三个还是最前面的三个?

通过一个临时表过渡一下把符合的insert 进去,最小的就加上order 最前面的就不用加了

select * from ##table

5200 2004-11-17
  • 打赏
  • 举报
回复
就是一个bigID拥有若干个smallID,要返回每个bigID的头3个smallID

5200 2004-11-17
  • 打赏
  • 举报
回复
好吧,可能是我没说清楚,把我的问题改一下:如何从一个销售表中挑出每个产品的前3条销售记录?
意思和前面是一样的

销售表A: (OrderID,ProductID)

每种产品在里面都会有数条销售记录,该如何挑出每种产品的前3条销售记录?
5200 2004-11-17
  • 打赏
  • 举报
回复
lzymagi(飘逸的男人):

smallID是指最前面的三个,但该如何挑出这符合的insert到临时表?

davorsuker39(大狐狸) :

你的语句根本无法运行
goregrypeck 2004-11-16
  • 打赏
  • 举报
回复
用top
goregrypeck 2004-11-16
  • 打赏
  • 举报
回复
说清楚些?返回什么结果?

34,873

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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