首页 > 解决方案 > PIVOT 查询生成以下结果

问题描述

Input Table
t1  sivaprakash 10  Jan       
t7  Mathi   50  Jan       
t8  Praveen 80  March     
t9  rarna   75  May       
t2  prasanna    70  Feb
t3  Pradeep 30  March     
t4  Mathon  35  April     
t5  Vijaykumar  40  May       
t6  Jeeva   50  June    

结果:

Month                 Jan Feb March April May June July

Number of Transactions 1   2    1    4     1    3    2

如何查询我的结果?

标签: sql-server

解决方案


你没有指定任何东西,但如果你愿意,你仍然可以尝试如下。

SELECT 'No Of Transaction' AS Month,* 
FROM   (SELECT 1 AS C1, 
               month 
        FROM   MySampleTable) t 
       PIVOT ( Count(c1) 
             FOR month IN ( [Jan],[Feb],[March],[April],[May],[June]))pvt 

完整演示

+-------------------+-----+-----+-------+-------+-----+------+
| Month             | Jan | Feb | March | April | May | June |
+-------------------+-----+-----+-------+-------+-----+------+
| No Of Transaction | 2   | 1   | 2     | 1     | 2   | 1    |
+-------------------+-----+-----+-------+-------+-----+------+

推荐阅读