https://avatars.githubusercontent.com/u/6058558

程式狂想筆記

SQL子查詢筆記(相關子查詢/非相關子查詢)

之前用子查詢第二層,竟然抓不到外層的欄位
已經找到 終於知道為什麼子查詢沒辦法抓取外面的表 | 程式狂想筆記
有時候跟本不知道為什麼?後來問公司的前軰,他說第二層就抓不到最外一層
但這種強制記這種觀念感覺不是很好,今天 Google 查一下原因
在這邊整理一下 XD

SQL判斷快否有小數點

在商品管理、財務系統或報表需求中,常常需要判斷某個數值欄位是否含有小數點。例如:

  • 商品售價是否為整數(整數才能套用某種折扣規則)
  • 財務帳目中篩選出非整數金額以進行異常稽核
  • 匯出 Excel 時,整數與小數顯示格式不同

git建立空分支

在 Git 中,一般的分支都有完整的提交歷史,且與主分支(main/master)有共同的祖先節點(parent commit)。但有些情境需要一個完全獨立、沒有任何歷史紀錄的分支,這就是 Orphan Branch(孤立分支)。

取得重覆資料最新SQL

在Backend 台灣 (Backend Tw)看到 如下 1 2 3 4 SELECT m1.* FROM messages m1 LEFT JOIN messages m2 ON (m1.name = m2.name AND m1.id < m2.id) WHERE m2.id IS NULL; 這寫法很有趣XD Triton Ho: Group by是 O(n log n) Left join 是O(n^2) George Li Chino Lin : 實際上我如果把資料降到10比左右, 這兩種query 的效能就沒有明顯差異~ http://sqlfiddle.com/#!9/296a6a/1 http://sqlfiddle.com/#!9/296a6a/2 但是筆數拉到300左右就有明顯差異了~ 所以合理判斷資料量上升~ 效能差距會越明顯~ 資料更大的話基本上沒辦法用這平台了XD Chino Lin: 我自己用一個表約100萬筆來測試 使用left join方式 跑到超過6分鐘沒等下去 , 但是用子查詢groupby 大約1秒就跑完 後來改成4萬筆left join跑了2分15才跑完 子查詢+groupby也是大約1秒就跑完 我的是mysql5.6 那我看還是用子查詢+groupby就好……. 可能是5.0太舊不值得參考了

Crontab 執行特定目錄

1
50 * * * * cd /home/me/.flexget && sh /home/me/.flexget/gitpull.sh >/dev/null 2>&1

假如前面沒有做cd動作,執行目錄不會是在相同目錄
在此筆記,以後就不用查了
直接看筆記XD