SQL 中的行转列,应该都听过吧?其实 SQL2005 及以上版本有一种挺方便的方式——使用PIVOT语法。这种方式相比传统的手动写 case when 要简单不少,也更易于理解。如果你平时需要将行数据转换为列数据,不妨试试这个新式方法,它不仅响应快,而且代码也简单。比如在报表中,常常需要把不同类别的销售数据按季度展开,使用PIVOT就能轻松搞定,效率蛮高的。

不过,使用PIVOT时要留意,如果数据量比较大,查询性能会受到影响,所以最好在实际开发中做一下测试。如果你对 SQL 的行转列操作不太熟悉,下面这些相关文章会给你多: