打印本文 打印本文  关闭窗口 关闭窗口  
如何提取分组取前N条的记录
作者:佚名  文章来源:不详  点击数  更新时间:2008/5/9 19:03:22  文章录入:杜斌  责任编辑:杜斌

  问题:

   新手来看:如何写分组取前N条的 SQL 语句?

  有这样一个表:

  ID RID
  001 001
  002 001
  003 001
  004 004
  005 004
  006 004
  007 007
  008 007
  009 009
  010 010

  希望取得每组RID相同的前2条记录,即:
  ID RID
  001 001
  002 001
  004 004
  005 004
  007 007
  008 007
  009 009
  010 010

  能否用尽可能简单的语句实现?请各位指点

  回答:

  select *
  from t as a
  where id in(select top 2 id from t where rid=a.rid order by id)

打印本文 打印本文  关闭窗口 关闭窗口