gpt4 book ai didi

mysql - 在连接表上添加默认值

转载 作者:行者123 更新时间:2023-11-29 07:00:53 24 4
gpt4 key购买 nike

我有下表:

用户

user_id  course_id  completion_rate
1 2 0.4
1 23 0.6
1 49 0.5
... ... ...

类(class)

course_id  title
1 Intro to Python
2 Intro to R
... ...
70 Intro to Flask

用户表中的每个条目代表用户参加的类(class)。然而,用户学完所有类(class)的情况很少见。

我需要的是包含user_idcourse_idcompletion_rate的结果集。如果用户已经学习了该类(class),则应使用现有的 completion_rate,但如果没有,则应将 completion_rate 设置为 0。也就是说,将会有每个 user_id 共 70 行,每门类(class)一行。

我对 SQL 没有太多经验,而且不知道从哪里开始。在 R 之类的东西中做到这一点会更容易吗?

谢谢。

最佳答案

您应该首先交叉加入具有不同用户的类(class)。然后对此进行 left join 以获得所需的结果。如果用户未参加类(class),completion_rate 将为 null,我们使用 coalesce 默认为 0

select c.course_id,cu.user_id,coalesce(u.completion_rate,0) as completion_rate
from courses c
cross join (select distinct user_id from users) cu
left join users u on u.course_id=c.course_id and cu.user_id=u.user_id

关于mysql - 在连接表上添加默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43553412/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com