作者applecream (^^)
看板Database
标题[SQL ] Leetcode初阶线上题目求解
时间Thu Jan 6 23:21:51 2022
https://i.imgur.com/1Uv74Sp.jpg
请问以上画面这题:Reformat Department Table
不懂为什麽用max(case..)可以处理
看讨论区 也有人用sum(case…)也可以成功跑出结果 更不明白了…
麻烦好心人解惑 谢谢~
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.243.39.91 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Database/M.1641482513.A.292.html
1F:推 LPH66: Select (case when month = 'Jan' ... end) 01/06 23:30
2F:→ LPH66: From department Where id=1; 想想这条会输出什麽表? 01/06 23:31
3F:→ LPH66: max 或 sum 函数会作用在上述式子得到的表的那一栏中 01/06 23:31
4F:→ LPH66: 不过重点是这一栏, 考虑进题目叙述的话它应该会有一个特性 01/06 23:32
5F:→ LPH66: 这样你就能知道为什麽用 max 或 sum 可以把这个特性抓出来 01/06 23:33
6F:推 ken218: 因为每个月, 每个Id 只会出现一次,所以其实 max、sim、 01/08 15:45
7F:→ ken218: 甚至 min 都有一样的效果。但是这个不是应该用 pivot 比 01/08 15:45
8F:→ ken218: 较好吗? 01/08 15:45
9F:→ applecream: 明白了 谢谢两位前辈指点 01/10 02:06
10F:→ applecream: 对 应该pivot比较好 但有看到讨论区是这解法 好奇思 01/10 02:08
11F:→ applecream: 路 01/10 02:08
12F:→ applecream: 总之非常感谢两位 01/10 02:08
13F:推 ken218: 如果要快速刷题,可以最快解出来的方法就是最佳解,所以 01/11 08:17
14F:→ ken218: 没有使用 pivot 吧。另外,会不会是因为不同数据库系统间 01/11 08:17
15F:→ ken218: 的语法不同? 01/11 08:17