2017-11-30 2 views
0

저는 합계를 계산하고 있습니다. 합계에 대한 값 (amount_description)을 얻을 수는 있지만 어떻게 계산할 수 있는지 잘 모르겠습니다. 텍스트 (varchar 및 파란색 강조). 당신이 금액으로 스크린 샷을 볼 수 있듯이MySQL 그룹 합계 금액을 필터로 입력하십시오.

enter image description here

, 나는 각 SKU에 양의 설명에 따라 양이

그래서 내 희망은 당신이 조언을 할 수 원하는 어떻게

내가 시도 작업 여러 가지 방법이 있지만 작동하지 않아도된다.

SELECT SUM(CASE WHEN amount_description = 'commission' and amount_description = 'Commission' and amount_description = 'RefundCommission'THEN amount END) AS sku_TOTAL, transaction_type 
FROM settlements 
Where transaction_type ='refund' 

나는 여전히 신인이다.

답변

1

GROUP BY뿐만 아니라 SUM 기능을 사용하여 동일한 SKU의 모든 항목을 함께 그룹화 할 수 있습니다. 아무것도 안하고에 대한 주석에

SELECT 
    `transaction_type`, 
    `sku`, 
    SUM(`amount`) AS `sku_total` 
FROM 
    `settlements` 
WHERE 
    `transaction_type` = 'Refund' 
    AND `amount_description` IN (
     'Principal', 'Commission', 'RefundCommission' 
    ) 
GROUP BY 
    `transaction_type`, -- Doesn't really do anything since there is only one type 
    `sku` 

: MySQL은 종종없이이 쿼리를 수 있지만, 대부분의 DBMS는 '집계 함수의 모든 필드되지는 GROUP BY 절에 있어야 할 것을 요구하고 있습니다. 이 경우 하나의 그룹 (환불) 만 있기 때문에 결과에 영향을 미치지 않으므로 모범 사례에 포함되어야합니다.

+0

네, 완벽 관행 정착 FROM SKU 그리고 작업 내 측면. 댓글에 관해서는 너무 많이 고마워요. 나는 그걸 메모하고 이해합니다. –

1

안녕하세요 당신은 일부 amount_descriptions이

시도하십시오 경우 얻을 필요하거나 사용하여 필터링 각 amount_description의 합을 얻을 수에 의해 합 그룹을 사용할 수 있습니다

SELECT SUM(amount) AS total, amount_description 
FROM settlements 
Where transaction_type ='refund' 
GROUP BY amount_description 
having amount_description="commission" or amount_description="Commission" or 
amount_description="RefundCommission" 

또는

SELECT SUM(amount) AS total, amount_description,sku 
FROM settlements 
WHERE transaction_type ='refund' 
AND (amount_description="commission" OR amount_description="Commission" OR 
     amount_description="RefundCommission") 
GROUP BY amount_description,sku 
+0

이 작업을 수행했는데 이것은 내가 찾은 것이 아니며 각 SKU에서 그룹을 더 찾습니다. 이 쿼리는 내가 사용하는 다른 함수에 대해 좋게 보입니다. –

+0

더 자세히 설명해 주시겠습니까? 금액에 따라 SKU의 합계가 필요하지 않음 amount_description –

+0

예, 각 SKU의 합계 및 Amount_description을 기준으로 합계 (교장, Commission 및 RefundCommission) –