簡體   English   中英

基於兩列動態值的一列的總和

[英]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 BYHAVING

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM