最近在做關於售、退的統計時,想要一條sql就解決問題,通過網上查詢相關資料,得到以下幾種方式:
舉個栗子:表資料如下[pay_type欄位,1代表 售 2代表 退]
id pay_type pay_value
1 1 20
2 1 50
3 2 30
第一種方式:
使用if條件判斷:
select sum( if( pay_type = 1, pay_value, -1 * pay_value ) ) as pay from table;
第二種方式:
使用case when語句判斷:
select sum( pay_value * ( case pay_type when 1 tnen 1 else -1 end ) ) as pay from table;
第三種方式:
通過用cos()函式對pi()的整數倍求值判斷,但是這種情況對上述例子不適用,僅供參考。
select sum( pay_value * ( cos( pi() * pay_type) ) ) as pay from table;
以上就是我找到的三種方式,有其他方式請不吝指教。
MySQL插入多條記錄
原文 nsert into users name,age values 姚明 25 比爾.蓋茨 50 火星人 600 上面的insert 語句向users表中連續插入了3條記錄。值得注意的是,上面的insert語句中的values後必須每一條記錄的值放到一對 中,中間使用 分割。假設有乙個表tabl...
mysql一對多,合併多條記錄時
修改過後的sql語句,查詢後如圖2所示 1 select am.activeid,group concat m.modelname separator modelname 2 from activemodel am 3 join model m 4 on am.modelid m.modelid 5...
MySQL使用INSERT插入多條記錄
mysql使用insert插入多條記錄,應該如何操作呢?下面就為您詳細介紹mysql使用insert插入多條記錄的實現方法,供您參考。看到這個標題也許大家會問,這有什麼好說的,呼叫多次insert語句不就可以插入多條記錄了嗎!但使用這種方法要增加伺服器的負荷,因為,執行每一次sql伺服器都要同樣對s...