[英]Sum of one column based on two columns of dynamically value
我有以下mysql表:
item code | warehouse | qty
---------------------------
itm001 | abc |10
itm002 | xyz |20
itm003 | pqr |20
itm004 | pqr |15
itm001 | abc |60
itm002 | xyz |10
itm004 | tqr |20
itm003 | www |20
itm001 | ppp |15
我想要項目代碼和倉庫重復他們的總數時的總和 :例如:itm001 abc重復兩次它們的總和顯示itm001 = 70相同的方式為itm002並顯示總和itm002 = 30。
我不想要靜態where子句(其中item code ='itm001'和warehouse ='abc'或item code ='itm002'和warehouse ='xyz')。
你應該使用GROUP BY
和HAVING
:
SELECT itemcode,warehouse,SUM(qty) FROM yourtable
GROUP BY itemcode,warehouse
HAVING COUNT(*) > 1;
HAVING
過濾掉僅在倉庫中存在一次的項目。
嘗試這個:
SELECT itemcode,warehouse,SUM(qty) FROM table1 GROUP BY warehouse,itemcode;
用這個 :
SELECT item_code, warehouse,sum(qty)
FROM your_table
GROUP BY item_code, warehouse
您可以在組中使用havin子句。
select item_code, warehous, sum(qty), count(*)
group by item_code, warehouse
having count(*) > 1
如果我理解正確,你可以使用: SELECT item_code, warehouse , SUM(qty) FROM yourTable WHERE (...) GROUP BY item_code, warehouse;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.