2016-06-10 30 views
0

我有一個有趣的問題,我很難搞清楚。我試圖通過處理與PHP的一些結果分離而不是運行多個SQL查詢來優化一些SQL查詢。我的查詢返回如下:求和查詢結果列的子部分?

enter image description here

使用PHP,是有辦法總和「處理器」的結果?因此,例如,我希望能夠爲貝寶等回顯「36.00」。我目前能夠用多個單獨的查詢來做到這一點,但是我相對有信心有一種方法可以用一個查詢和PHP來做到這一點 - 我只是無法弄清楚如何去做。

在此先感謝您的幫助。

+1

創建一個關鍵數組,其關鍵是處理器。循環查詢的結果,並執行'array [$ row ['processor']] + = $ row ['payment_amount']'。 – Barmar

+0

DBMS是爲此創建的,不要吃他們的麪包。 –

回答

3

我覺得你只是想要一個group by查詢:

select processor, sum(payment_amount) 
from t 
group by processor; 

沒有理由做這項工作在PHP。

+0

我不想按處理器分組,因爲我也需要考慮'payment_datetime'。所以我希望能夠將處理器是paypal的金額和payment_datetime>我要縮小到的任何日期時間相加。 – rtoken

+0

@rtoken也許下次你也應該包括你的願望輸出。所以問題會更清楚。順便問一下,你沒有提到有關日期的任何信息。但是,只需在這裏添加一個'where payment_datetime>#date#',您就可以 –

+0

'group_concat(payment_datetime)'解決其他問題:) –