分组查询后 想在每个分组的开始加上分组的标题 标题是分组纪录的一个叫title 的字段 我如何做呢?分组的语句是这样的 SELECT a.*
FROM musicYC.db_Article a
WHERE (groupname <> '') AND (articleid IN
          (SELECT TOP 3 Articleid
         FROM musicYC.db_Article
         WHERE classname = a.classname
         ORDER BY classname DESC))

解决方案 »

  1.   

    --title在哪里没说清楚select title+rtrim(id),a.*
    FROM musicYC.db_Article a
    WHERE (groupname <> '') AND (articleid IN
              (SELECT TOP 3 Articleid
             FROM musicYC.db_Article
             WHERE classname = a.classname
             ORDER BY classname DESC))
      

  2.   

    哦 是这样的
    CREATE TABLE [musicYC].[db_Article] (
    [articleid] [bigint] IDENTITY (1, 1) NOT NULL ,
    [content] [ntext] COLLATE Chinese_PRC_CI_AS NULL ,
    [title] [nvarchar] (500) COLLATE Chinese_PRC_CI_AS NULL ,
    [classname] [char] (40) COLLATE Chinese_PRC_CI_AS NULL ,
    [username] [char] (100) COLLATE Chinese_PRC_CI_AS NOT NULL ,
    [headline] [int] NULL ,
    [highlight] [int] NULL ,
    [summary] [char] (400) COLLATE Chinese_PRC_CI_AS NULL ,
    [Nkey] [char] (400) COLLATE Chinese_PRC_CI_AS NULL ,
    [writer] [char] (100) COLLATE Chinese_PRC_CI_AS NULL ,
    [source] [char] (400) COLLATE Chinese_PRC_CI_AS NULL ,
    [hints] [bigint] NULL ,
    [dateandtime] [datetime] NULL ,
    [popedom] [char] (100) COLLATE Chinese_PRC_CI_AS NULL ,
    [checkup] [int] NULL ,
    [groupname] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL 
    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] 开始创作 公告                                     1
    成功的集成 公告                                     2
    成功的   公告                                     3
    休息一下 新闻                                     5
    今天做了 新闻                                     7
    机器坏了 新闻                                     12
    333333         333                                      19
    3333 333                                      20
    44444 333                                      21
    rrrrr 请输                                     31
    rrrrr 请输                                     32
    rrrrr 请输                                     33
    pppppppppppp ppppp                                    38
    uuuuuuuuuuuuuuu ppppp                                    39
    11111111111111111 ppppp                                    40
      

  3.   

    公告
             开始创作   公告                                     1
    成功的集成 公告                                     2
    成功的            公告                                     3
             新闻
    休息一下 新闻                                     5
    今天做了 新闻                                     7
    机器坏了 新闻                                         12
             333                                    
    333333         333                                      19
    3333 333                                      20
    44444 333                                      21
             请输
    rrrrr 请输                                     31
    rrrrr 请输                                     32
    rrrrr 请输                                     33
             ppppp
    pppppppppppp ppppp                                    38
    uuuuuuuuuuuuuuu ppppp                                    39
    11111111111111111 ppppp                                    40目的就是要加上每个项目标题在上面 谢谢高手帮忙!
      

  4.   

    SELECT title, classname, articleid
    FROM musicYC.db_Article a
    WHERE (groupname <> '') AND (articleid IN
              (SELECT TOP 3 Articleid
             FROM musicYC.db_Article
             WHERE classname = a.classname
             ORDER BY classname DESC))
    这是 上面的查询语句的结果
      

  5.   

    这种报表的效果不应该交给sql来做^^;
      

  6.   

    呵呵 我也不想啊 但是如果sql能做了 会非常的方便
      

  7.   

    没有测试select case when grouping(classname)=1 then classname else title end as title, classname, articleid
    from
    (
    SELECT title, classname, articleid
    FROM musicYC.db_Article a
    WHERE (groupname <> '') AND (articleid IN
              (SELECT TOP 3 Articleid
             FROM musicYC.db_Article
             WHERE classname = a.classname
             ORDER BY classname DESC))
    )tt
    group by title, classname, articleid with rollup
    having classname is not null or articleid is not null
    order by classname,grouping(classname)