案例表如下
-------------------------------------------------------
Id   Type   UserId    Title    Price       Date
----------------------------------------------------
1     0      1        AAA       5          2007-05-11
2     1      1        hBBB      5          2007-05-10
3     1      1        3AAA      6          2007-05-10
4     0      4        4AAA      6          2007-05-09
5     1      4        dAAA      3.5        2007-05-09
6     1      3        fAAA      7          2007-05-09
7     1      2        gAAA      9          2007-05-09
8     0      4        sAAA      10         2007-05-09
9     1      5        aAAA      8.5        2007-05-09
10    1      6        aAAA      7          2007-05-09
11     1      2        gAAA      9          2007-05-09
12     0      4        sAAA      10         2007-05-09
13     1      5        aAAA      8.5        2007-05-09
13    1      6        aAAA      7          2007-05-09
还有更多。。
------------------------------------------------------
我需要对这个表进行分页,每页20条数据,分页解决了,问题就是要求每条数据的UserId是唯一的,每页每个UserId的信息只能出现一次,请问该怎么做?

解决方案 »

  1.   

    不清楚你说的是什么意思!
    如果是把重复的记录删除出去用distinct就可以了
    select distinct usid from table
      

  2.   

    alogic说得对
    如果单单是对重复的记录删除的话
    select distinct userid from TableName
      

  3.   

    你用procedure吧,你把你的数据放在一个临时表中的,设置一个标志位,假设标志位初始值位0,通过自身的链接当useid 相同的时候设置标志位为1.在update useid位空当标志位为1的时候
      

  4.   

    SELECT TOP 20 * FROM Table
    怎么用distinct ?