[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