有 日期  时间  路线 方式  四个字段 ,
                  要group by 日期,
           把时间,路线,方式串起来在order by 时间 例如: 2010-1-1  10:00-11:00 公司-车站 打的 
       2010-1-1  09:00-10:00 广州-武汉 飞机
       2010-1-2  10:00-11:00 车站-公司 打的   
结果要:2010_1-1  09:00-10:00广州-武汉飞机,10:00-11:00公司-车站打的,2010-1-2  10:00-11:00 车站-公司 打的 
   
数据库:2008

解决方案 »

  1.   


    --> 数据库版本:
    --> Microsoft SQL Server 2008 (RTM) - 10.0.1600.22
    --> 测试数据:jqfx
    IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'jqfx') 
    AND type in (N'U')) --U 代表你查询的是表
    DROP TABLE jqfx
    GO---->建表
    create table jqfx([日期] varchar(11),[时间] varchar(11),[路线] varchar(9),[方式] varchar(4))
    insert jqfx
    select '2010-1-1','10:00-11:00','公司-车站','打的' union all
    select '2010-1-1','09:00-10:00','广州-武汉','飞机' union all
    select '2010-1-2','10:00-11:00','车站-公司','打的'
    GOSELECT  
    stuff((
    select ','+convert(varchar(2000),[日期]+' '+[时间]+' ' +[路线]+' '+[方式]) FROM jqfx   for xml path(''))
    ,1,1,'')
    FROM jqfx a 
     
    --> 查询结果
    SELECT  
    stuff((
    select ','+convert(varchar(2000),[日期]+' '+[时间]+' ' +[路线]+' '+[方式]) FROM jqfx   for xml path(''))
    ,1,1,'')
     
    --> 删除表格
    --DROP TABLE jqfx
      

  2.   


    --> 数据库版本:
    --> Microsoft SQL Server 2008 (RTM) - 10.0.1600.22
    --> 测试数据:jqfx
    IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'jqfx') 
    AND type in (N'U')) --U 代表你查询的是表
    DROP TABLE jqfx
    GO---->建表
    create table jqfx([日期] varchar(11),[时间] varchar(11),[路线] varchar(9),[方式] varchar(4))
    insert jqfx
    select '2010-1-1','10:00-11:00','公司-车站','打的' union all
    select '2010-1-1','09:00-10:00','广州-武汉','飞机' union all
    select '2010-1-2','10:00-11:00','车站-公司','打的'
    GO 
    --> 查询结果
    SELECT  
    stuff((
    select ','+convert(varchar(2000),[日期]+' '+[时间]+' ' +[路线]+' '+[方式]) FROM jqfx   for xml path(''))
    ,1,1,'')
     
    --> 删除表格
    --DROP TABLE jqfx
      

  3.   

    group by 可以和order by并存。但是貌似你的需求不是group by+order by就可以解决的。
      

  4.   


    SELECT  日期 ,
            MAX(时间) AS 时间 ,
            MAX(路线) AS 路线 ,
            MAX(方式) AS 方式
    FROM    @table
    GROUP BY 日期
    ORDER BY 日期 DESC
    /*
    日期         时间           路线          方式
    ---------- ------------ ----------- ----
    2010-01-02 10:00-11:00  车站-公司       打的
    2010-01-01 10:00-11:00  广州-武汉       飞机
    */可以这样用,但是结果不是你想要的
      

  5.   

    select * from jqfx order by 日期,时间,路线,方式即能当到效果:1、先根据日期排序 2、再根据时间排序 3、接着根据路线排序 4、最后根据方式排序希望对你有用
      

  6.   

    group by 可以和order by并存..其他我就不多说了..