- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在处理的两个表是:
提交:
+----+------------+
| id | student_id |
+----+------------+
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
+----+------------+
群组提交:
+----+---------------+------------+
| id | submission_id | student_id |
+----+---------------+------------+
| 1 | 1 | 2 |
| 2 | 2 | 1 |
+----+---------------+------------+
只有一个学生实际提交并进入提交表,而其他人进入group_submissions表(如果提交是小组提交)
我想计算作为一个小组或单独提交的学生的唯一数量
我只想最后返回数字(根据上表中的数据为 3)
提交表中的学生如果在 group_submission 表中,则不应被计算两次,反之亦然。
此外,只完成个人提交(不在 group_submissions 表中)的学生也应该被计算在内,无论他们是否曾经参加过小组提交
我已经在我正在构建的查询中对这些表执行了一些其他操作,所以如果你能给我一个基于连接这两个表的解决方案,那将会有所帮助。
这是我尝试过的:
count(distinct case when group_submissions.student_id is not null then group_submissions.student_id end) + count(distinct case when submissions.student_id is not null then submissions.student_id end)
但它给了我重复项,所以如果一个学生同时出现在两个表中,他将被计算两次。
有什么想法吗?
注意:这是一个 MySQL 数据库。
最佳答案
我想你想要union
和一个计数:
select count(*)
from ((select student_id
from submissions
)
union -- on purpose to remove duplicates
(select student_id
from group_submissions
)
) s;
关于mysql - 如何将两列中的不同值计为一个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60620442/
我正在使用 jquery 的计数器插件 (http://wplayground.comuv.com/counter/) 并在我们的页面中成功实现了它。但我需要对其进行调整,但我不确定它应该去哪里。 基
我正在玩弄 Levenshteins Edit Distance algorithm ,我想扩展它以计算换位——即相邻字母的交换——作为 1 次编辑。未修改的算法计算从另一个字符串到达某个字符串所
我有一个通过 html 表动态搜索的脚本。请参阅example here 。它工作正常,但我想要一个 如果用户在搜索字段中输入“aa”,则会出现字母“å”。反之亦然。 (“å”相当于“aa”,“aa”
我是一名优秀的程序员,十分优秀!