Sqlserver的select中支持case表达式,它能方便做一些类似replace的替换的操作。
这样可以把表中的值替换成我们想要的值。
如果不加上else then这段语句的话,则所有的结果都会显示成 null
case 还可以与Ntile结合使用。
这这里把城市分成的三类,并用一线城市,二线城市,三线城市代替了原来的1,2,3的分组名。
这个表一共280行,280/3=93.333,按照Ntile的理论,余数会被分到前面的组中。
我count了一线城市,二线城市,三线城市的数量,分别是 94,93,93。正好加起来是280.
case when 还能与> 连用
这里的 case 后面不能加上列名,加上会报错。