如何使用数据从初始到最终对列值进行排序

问题描述 投票:-1回答:2

我有一张这样的桌子,

create table Input_Table(id int, [year] varchar(100),initial int,final int)

insert into Input_table values(1,'2017',1,11)
insert into Input_table values(2,'2017',8,11)
insert into Input_table values(3,'2017',3,33)
insert into Input_table values(4,'2016',6,44)
insert into Input_table values(5,'2016',6,44)
insert into Input_table values(6,'2017',6,44)
insert into Input_table values(7,'2016',4,8)
insert into Input_table values(8,'2017',2,8)

我需要根据pic enter image description here中显示的要求获得输出

sql-server sql-server-2008
2个回答
2
投票

要实现您的给定输出,您可以遵循此;

Select 
    DISTINCT(
        'Change From '+ Cast(initial AS Varchar(10))+' to '+Cast(final AS Varchar(10))
        ) AS DATA
    ,SUM(Case When year=2017 Then 1 Else 0 END) AS [2017]
    ,SUM(Case When year=2016 Then 1 Else 0 END) AS [2016]
 From Input_table 
 Group By initial, final
 ORDER BY DATA ASC

注意: - 如果您真实地使用它。然后可能是我可以建议,然后更好的解决方案。


0
投票

SELECT中的ORDER BY子句。还有SQL Server specific

SELECT * FROM Input_table ORDER BY initial 
© www.soinside.com 2019 - 2024. All rights reserved.