[SQL ] Leetcode初阶线上题目求解

楼主: applecream (^^)   2022-01-06 23:21:51
https://i.imgur.com/1Uv74Sp.jpg
请问以上画面这题:Reformat Department Table
不懂为什么用max(case..)可以处理
看讨论区 也有人用sum(case…)也可以成功跑出结果 更不明白了…
麻烦好心人解惑 谢谢~
作者: LPH66 (-6.2598534e+18f)   2022-01-06 23:30:00
Select (case when month = 'Jan' ... end)From department Where id=1; 想想这条会输出什么表?max 或 sum 函数会作用在上述式子得到的表的那一栏中不过重点是这一栏, 考虑进题目叙述的话它应该会有一个特性这样你就能知道为什么用 max 或 sum 可以把这个特性抓出来
作者: ken218 (ken218)   2022-01-08 15:45:00
因为每个月, 每个Id 只会出现一次,所以其实 max、sim、甚至 min 都有一样的效果。但是这个不是应该用 pivot 比较好吗?
楼主: applecream (^^)   2022-01-10 02:06:00
明白了 谢谢两位前辈指点对 应该pivot比较好 但有看到讨论区是这解法 好奇思路总之非常感谢两位
作者: ken218 (ken218)   2022-01-11 08:17:00
如果要快速刷题,可以最快解出来的方法就是最佳解,所以没有使用 pivot 吧。另外,会不会是因为不同数据库系统间的语法不同?

Links booklink

Contact Us: admin [ a t ] ucptt.com