首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用另一个表的avg()在mysql表中执行删除?

如何使用另一个表的avg()在mysql表中执行删除?
EN

Stack Overflow用户
提问于 2020-04-27 23:48:33
回答 1查看 31关注 0票数 2
代码语言:javascript
运行
复制
table_a
user_id  score
1        0.33
2        0.34
3        0.35
11       0.90
88       0.80
7        0.10
8        0.11
10       0.09
12       0.80
17       0.80
18       0.80
19       0.80
20       0.80

table_b
user_id  canon_id 
1        1000     
2        1000     
3        1000      
11       4344      
88       4344      
7        2023      
8        2023      
10       2023      
12       3333      
17       3333      
18       3333      
19       3333      
20       3333     

在上述情况下,如果来自table_b的关联table_a.user_ids的avg(得分)< 0.50,如何从table_b.canon_id中删除记录。在这种情况下,canon_id 2023和相关的user_ids 7,8,10 (分数)为0.10,因此应该删除它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-28 00:00:23

table_b连接到一个查询,该查询返回与平均值< 0.5关联的所有canon_ids

代码语言:javascript
运行
复制
delete b 
from table_b b inner join (
  select b.canon_id
  from table_b b inner join table_a a
  on a.user_id = b.user_id
  group by b.canon_id
  having avg(a.score) < 0.5
) t on t.canon_id = b.canon_id;

演示

结果:

代码语言:javascript
运行
复制
| user_id | canon_id |
| ------- | -------- |
| 11      | 4344     |
| 88      | 4344     |
| 12      | 3333     |
| 17      | 3333     |
| 18      | 3333     |
| 19      | 3333     |
| 20      | 3333     |
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61470376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档