我有以下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相同,显示sum itm002=30。
我不想要静态where子句(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
筛选出仓库中只存在一次的项。