我得到這個表名爲tb_stock
如何總結基於字段值(MySQL的)
ID AMOUNT FLAG LAST_AMOUNT
1 5 N 0
2 0 Y 8
3 0 Y 7
4 6 N 0
現在,我要總結基於標誌值的值。例如,如果標誌值爲N,則它將從AMOUNT字段求和,如果標誌值爲Y,則它將從LAST_AMOUNT字段求和。
所以總金額將是26(5 + 8 + 7 + 6)。
這是可以實現只使用mysql或它會涉及到PHP?
謝謝。
我得到這個表名爲tb_stock
如何總結基於字段值(MySQL的)
ID AMOUNT FLAG LAST_AMOUNT
1 5 N 0
2 0 Y 8
3 0 Y 7
4 6 N 0
現在,我要總結基於標誌值的值。例如,如果標誌值爲N,則它將從AMOUNT字段求和,如果標誌值爲Y,則它將從LAST_AMOUNT字段求和。
所以總金額將是26(5 + 8 + 7 + 6)。
這是可以實現只使用mysql或它會涉及到PHP?
謝謝。
SELECT SUM(CASE WHEN FLAG = 'Y' THEN LAST_AMOUNT ELSE AMOUNT END) AS TOTAL
FROM tb_stock
感謝我所需要的:) – cyberfly
這是使用IF
聲明
SELECT SUM(IF(`flag`='y', last_amount, amount))
FROM example_table
一個例子,我相信你不得不寫使用遊標與MySQL的純粹的完成它的存儲過程。你可以用不同的數據庫結構創建一個更簡單的解決方案(添加一個字段'AMOUNT_TO_SUM',設置爲'AMOUNT'或'LAST_AMOUNT'並且做一筆總和) –