Sql group rows with same value, and put that value into header?

前端 未结 5 2043
梦毁少年i
梦毁少年i 2020-12-11 04:50

I want to group rows with SQL, my result set is following

name  size  date
data1  123  12/03/2009
data1 &nb

5条回答
  •  佛祖请我去吃肉
    2020-12-11 05:16

    Michael Todd is definitly right when he says this should be done on the client side but for the fun of it, this is one option

    DECLARE @Table TABLE (name VARCHAR(32), Size INTEGER, Date DATETIME)
    
    INSERT INTO @Table VALUES ('data1', 123, getdate())
    INSERT INTO @Table VALUES ('data1', 124, getdate())
    INSERT INTO @Table VALUES ('data2', 333, getdate())
    INSERT INTO @Table VALUES ('data2', 323, getdate())
    INSERT INTO @Table VALUES ('data2', 673, getdate())
    INSERT INTO @Table VALUES ('data2', 444, getdate())
    
    INSERT INTO @Table 
    SELECT DISTINCT name, NULL, NULL
    FROM @Table
    
    SELECT 
      CASE WHEN Size IS NULL THEN Name ELSE NULL END
      , Size
      , Date
    FROM @Table
    ORDER BY Name, Size
    

提交回复
热议问题