SQL如何行转列

2025-05-24 02:17:48

对于T-SQL老手来说,行转列已不稀奇。但对于新手来说,对行转列的思维方式还很模糊。今天我要总结一下我所掌握的行转列的思维方式,以帮助有需要的朋友更清楚的理解行转列的方法。

工具/原料

任何支持T-SQL的软件

行转列的理解方式:

1、行转列前,所有列的筛选条件都一样,只是被分组了。行转列后,每一列各有自己的筛选条件,筛选条件就是行转列前所分组的值。

示例:

1、源数据:SELECT user_name,dept_no FROM trm_user

SQL如何行转列

2、要求统计每个部门下的人数:SELECTdept_no,count(1) AS 'count'FROM trm_userGROUP BY dept_no

SQL如何行转列

3、行转列要求部门在第一行,第二行显示人数:SELECT 'ATD','挢旗扦渌;MACAU','AIAPT'UNION allselectconvert(VARCHAR,count(CASE WHEN dept_no='ATD' THEN 1 END)),convert(VARCHAR,count(CASE WHEN dept_no='MACAU' THEN 1 END)),convert(VARCHAR,count(CASE WHEN dept_no='AIAPT' THEN 1 END))FROM trm_user

SQL如何行转列

对比:

1、对比一下前面语句的不同,是否发现了什么?

SQL如何行转列
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢