记一次解决《经典的SQL笔试题 - 行转列》的过程

224 阅读1分钟

上题:

面试的时候经常会遇到这类SQL笔试题,一开始每次我遇到这类笔试题,都是一脸懵逼,不知从何下手。

后来我下定决心要搞懂这类题。于是我搜了一下:

顺着这个题刷下去,终于找到了!

参照这个题的思路和自己的思考,终于解决了这类问题。

最终这个笔试题的答案:

SELECT mianshi_test.city 地区, COUNT(mianshi_test.cus_name) 客户数量,
SUM(CASE mianshi_test.star WHEN '1星' THEN 1 ELSE 0 END) AS '1星数量', 
SUM(CASE mianshi_test.star WHEN '2星' THEN 1 ELSE 0 END) AS '2星数量'
FROM mianshi_test
GROUP BY mianshi_test.city;

核心的知识点:group by 分组、case 表达式、sum 求和。

具体的思路,自行搜一下。

总结:遇到问题就要主动想办法解决,不管搜索引擎还是其他手段。知识就是这样一点一点的积累的。