我现在在做论坛,现在做到了个人中心,因为里面有一个导航是我的关注,点击进去就是查看自己所有回复过的帖子比个比方,有个帖子叫"今天我吃过了"
那么我有可能在这个帖子下面回复了五六条帖子,那么我点击我的关注的时候就会出现五六条数据,怎么让他显示一条呢?不管有多少我的回复,只显示一条就够了

解决方案 »

  1.   

    那显示你的哪条呢?按时间倒序,取top 1
      

  2.   

    出了时间外,所有字段都放到group by里试试。
      

  3.   

    不知道 可不可以用 DISTINCT
      

  4.   


    declare @table table (帖子编号 int,帖子名称 varchar(1),回复 varchar(4))
    insert into @table
    select 1,'a','aaaa' union all
    select 1,'a','bbbb' union all
    select 3,'b','cccc' union all
    select 3,'b','dddd' union all
    select 4,'c','eeee' union all
    select 5,'d','ffff' union all
    select 6,'e','gggg' union all
    select 6,'e','hhhh' union all
    select 6,'e','iiii'select * from @table
    /*
    帖子编号        帖子名称 回复
    ----------- ---- ----
    1           a    aaaa
    1           a    bbbb
    3           b    cccc
    3           b    dddd
    4           c    eeee
    5           d    ffff
    6           e    gggg
    6           e    hhhh
    6           e    iiii
    */select 帖子编号,帖子名称,max(回复) as  一条回复  from @table group by 帖子编号,帖子名称/*
    帖子编号        帖子名称 一条回复
    ----------- ---- ----
    1           a    bbbb
    3           b    dddd
    4           c    eeee
    5           d    ffff
    6           e    iiii
    */
      

  5.   

    select InvitaTion_ID,R_InTime,max(R_Content) as a  from receipt group by InvitaTion_ID,R_InTime可是我按5楼说的做行不通啊,还是查出来的全部啊
    我把我表里面的列说明一下吧
    R_ID 编号
    R_Content回复内容
    R_InTime回复时间
    BBSUser_ID回复人的编号
    InvitaTion_ID回复的主题帖子编号谁给我列出来一条SQL语句啊,InvitaTion_ID有多个的,只显示一个
      

  6.   

    select InvitaTion_ID,BBSUser_ID,IT_Title,BK_Title,max(R_Content) as R_Content   
    from receipt_View  group by InvitaTion_ID,BBSUser_ID,IT_Title,BK_Title 目前是列出来了,但是少数据
    InvitaTion_ID有六种呢,1,100000000,100000003,100000004,100000005,100000006
    用上面的SQL语句只执行出来100000003,100000004,100000005,100000006四条数据,1和10000000没有执行出来,是怎么回事?