From SQL jams to pipeline style php
從 SQL 醬缸轉換為 pipeline 式的 PHP
在處理大量複雜訂單的操作時,常常混雜各式各樣的條件跟運作,例如:
- A. 找出金額大於某個數字,並且下單時間在某個優惠時段的訂單,予以
N %
的紅利點數
- B. 找出下單時間在某個優惠時段的訂單,予以
N %
的折扣
- C. 找出金額大於某個數字,並且排除某個優惠時段的訂單,將訂單總金額某上某個比率,計入該消費者的總積分
- …
依一般最常見的 PHP + MySQL 的作法,若有 100 條抓資料的操作,大概就會寫成 100 份(或更多) SQL 語法指令,並依對應的 MySQL 條件式組合。於是便會有一堆 WHERE
/ AND
/ OR
/ GROUP BY
/ HAVING
/ subquery / … 等交錯的組合結構。