簡體   English   中英

如何使用 SELECT SUM() FROM Table GROUP BY 刪除

[英]How to DELETE With SELECT SUM() FROM Table GROUP BY

我有桌子材料

 - id int,
 - name varchar(50),
 - content text,
 - quantity double,

不使用 group by 的查詢

1, product1, content1, 25
2, product2, content2, 4 
3, product1, content3, 35
4, product3, content4, 15 

group by 和 SUM 數量的查詢

 product1, content1, SUM(quantity) : 60
 product2, content2, SUM(quantity) : 4 
 product3, content4, SUM(quantity) : 15

例如,如果我的總和數量 = 0

 product1, content1, SUM(quantity) : 0
 product2, content2, SUM(quantity) : 4 
 product3, content3, SUM(quantity) : 15

我將刪除產生總數量 = 0 的所有產品。例如:從 id =1 中刪除產品 1,從 id = 3 中刪除產品 1

1, product1, content1 
3, product1, content3

你可以這樣做:

DELETE t
FROM `material` t
INNER JOIN(SELECT s.name FROM `material` s
           GROUP BY s.name
           HAVING sum(s.quantity) = 0)
 ON(t.name = s.name)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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