我想要做的是創建一個SUM case時語句,就像在Excel中的sumifs。我將進入R進行進一步的分析,但認爲它會更快地在MySQL中運行此查詢一次,並拉入R.Sumifs SQL表匹配行值
因此,在Excel中它與=SUMIFS(I:I,H:H,"Shipping",G:G,G7,F:F, F7)
(該公式是在「total_cost」列。
其中H列是process
,G是order_no
,F爲parent_name
我不知道的是如何& F7匹配的整個範圍中的行值G7(該部分或者即使這是有效的,考慮到這個小數據庫有幾百萬行* 45列),在這個例子中,將填寫total_cost colu對那個單元格。
所以下面我試圖得到每個父母的訂單數量的總成本。所有訂單都有其中的流程(編譯,包裝,運輸),並以送貨爲結束。因此,在「total_cost」列中,當process = Shipping時,它將總計當前行的order_no
和parent_name
的所有成本。
我得到了「無效使用組功能」與下面。我嘗試過以下This SUMIFS in SQL Post,但似乎無法適應GROUP BY
的工作。
UPDATE m.data
set total_cost =
IF(process = 'Shipping',
SUM(case when order_no = order_no
AND parent_name = parent_name
THEN sum(process_cost) else 0 END), "")
或讓我知道你是否有更好的方法當然。
見https://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-爲什麼看起來對我來說是一個非常簡單的sql查詢 – Strawberry