·一周点击排行
·热点推荐
您的位置:首页 >> 计算机 » 等级考试 » 如何提取分组取前N条的记录 >> 正文

如何提取分组取前N条的记录

发布时间:2008-5-28 17:02:00 浏览次数: 217

问题:

   新手来看:如何写分组取前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)


讨论此主题请进>>: 如何提取分组取前N条的记录