- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我们有以下模型:
考试和练习之间的连接表(exam_id、exercise_id)
每个用户每天可以进行一次考试。
此时,我可以使用以下查询显示用户在给定时间段内进行的所有练习及其百分比。
SELECT
o.user_id,
o.exercise_id,
o.exercise_name,
COUNT(*) AS nb_exams,
(COUNT(*) * 100 / (
SELECT COUNT(*)
FROM exams
LEFT JOIN users ON exams.user_id = users.id
WHERE users.id = 1 AND exams.day >= "2015-09-01" AND exams.day <= "2015-09-07"
)) AS percent
FROM (
SELECT
exercises.id AS exercise_id,
exercises.name AS exercise_name,
exams.id AS exam_id,
users.id AS user_id
FROM exercises
LEFT JOIN exercises_exams ON exercises_exams.exercise_id = exercises.id
LEFT JOIN exams ON exercises_exams.exam_id = exams.id
LEFT JOIN users ON exams.user_id = users.id
WHERE users.id = 1 AND exams.day >= "2015-09-01" AND exams.day <= "2015-09-07"
GROUP BY exercise_id,exam_id
) AS o
GROUP BY exercise_id;
但我还想以 0 的值显示他尚未做的练习。
是否可以通过 mysql 的一个查询来完成此操作?
编辑-
这是sqlfiddle对于当前查询。您会注意到,仅返回考试中使用的 3 个练习。我想列出所有带有计数和百分比的练习(甚至第四个带有 0)
最佳答案
首先,您应该删除内部查询中 join
子句的 where
条件,以便在练习未完成时看到 0
结果执行。获取与 0
结果对应的 user_id
是没有意义的。这是我能想到的最接近的解决方案。
SELECT
o.user_id,
o.exercise_id,
o.exercise_name,
sum(case when exam_id is null then 0 else 1 end) AS nb_exams,
(sum(case when exam_id is null then 0 else 1 end) * 100 / (
SELECT COUNT(*)
FROM exams
LEFT JOIN users ON exams.user_id = users.id
where exams.day >= "2015-09-01" AND exams.day <= "2015-09-07"
)) AS percent
FROM (
SELECT
exercises.id AS exercise_id,
exercises.name AS exercise_name,
exams.id AS exam_id ,
users.id AS user_id
FROM exercises
LEFT JOIN exercises_exams ON exercises_exams.exercise_id = exercises.id
LEFT JOIN exams ON exercises_exams.exam_id = exams.id
and exams.day >= "2015-09-01" AND exams.day <= "2015-09-07"
LEFT JOIN users ON exams.user_id = users.id
) AS o
GROUP BY exercise_id,exercise_name
关于mysql : get count and percent for all entries of a table with given conditions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32490833/
好吧,这可能是我做过的一件非常简单的事情(有那么几天),但我一辈子都想不通。 长话短说,在我的 main.scss 中: .test{ width: calc(100% - 50px); }
我只是想验证我对这些参数及其关系的理解,如果我错了请通知我。 mapreduce.reduce.shuffle.input.buffer.percent 告诉分配给 reducer 的整个洗牌阶段的内
我想在Excel中将0.95等数字显示为95;将它们格式化为 % 显示 95%;但我想去掉百分号。我可以在“自定义格式”中为此做些什么吗?注意:我不想做像单元格内容 * 100 等这样的事情,而是使用
我使用类似 margin-top: calc(100% - $value) 的意图是计算将涉及 100% 的高度来计算上边距。但实际上是按宽度的100%计算。 有人知道如何根据百分比高度而不是宽度进行
如何用单词“百分比”替换符号“%”。 我的原始字符串是“内部 (%) 外部 (%)”。 字符串应为“内部(百分比)外部(百分比)” 使用正则表达式,我如何替换这个符号? 提前致谢。 阿图尔 最佳答案
有没有办法使用百分比执行顶级(Take)linq查询? T-SQL 应该是: SELECT TOP 20 PERCENT ... 但 LINQ 似乎只想要一个 int。 看来我得先数数,然后再取。有什
想象一下,我正在根据评分对行进行排序,并且我只希望根据公开的行总数(不时发生变化,因此应该在途中计算)确定一定数量。这是显示每一行的子查询,以及我尝试使用但没有成功的令人毛骨悚然的技巧: SELECT
这个问题在这里已经有了答案: String formatting: % vs. .format vs. f-string literal (16 个答案) 关闭7年前。 在 Python 中似乎有两种
为什么从Hadoop 1.x开始删除了io.sort.record.percent属性? 最佳答案 它在2.x中存在,但唯一的区别是它的名称已更改: mapreduce.task.io.sort.mb
我正在尝试通过 MVC 在 EF 代码优先属性上使用这些: http://msdn.microsoft.com/en-us/library/0c899ak8.aspx 具体来说: [DisplayFo
我想编写一个 jQuery 插件来为 background-size 属性设置动画,从 cover 到 100% 反之亦然,但我不知道如何将 cover 设为百分比值,是否有可能获得已调整大小的背景图
我是网页设计的新手,所以这可能是一个愚蠢的问题,但请耐心等待。 我想创建一个水平居中的 div,其高度始终从底部延伸至 175 像素 - 所以基本上是 100% 减去 175 像素的高度。 div 中
我到处搜索这个,但我无法解决我的问题。 我正在使用本地 API 获取一些数据,在该 API 中,通配符是百分号 %。 URL 是这样的:urlReq = 'http://myApiURL?ID=som
我是 Hadoop 和 Hive 的新手。 我正在使用 Hadoop 2.6.4(我从互联网上获得的二进制文件)和 Hive 2.0.1(我从互联网上获得的二进制文件)。我可以在配置单元中创建数据库和
我有一个 data.table喜欢: library(data.table) widgets <- data.table(serial_no=1:100,
这是我使用一小部分数据 graphs 制作的 2 个图表 正如你所看到的,一个子集上升到 6%,另一个子集上升到 2%,在我的原始数据上,Y 比例上升到 13% 和 3.5%,因为我想并排显示它们更大
我有以下 SQL 查询,它返回 92.967013425802 结果,我需要将其格式化为 93% 并添加百分号。我尝试将总和更改为四舍五入,但收到错误 The function 'round' is
我正在制作一系列条形图,其中百分比值位于每个条形上方。我想将其四舍五入到小数点后 0 位,但它默认为小数点后 1 位。这是使用 mtcars 的示例。 library(ggplot2) library
我必须使用 pointFormat 属性来格式化工具提示。这个问题是我想不出一种方法来使用 {point.y} (0.0324123) 并将其格式化为 precent (3.24)。 正如我上面所说,
我有一个包含调用详细记录的 mysql 数据库。在这个特定的查询中,我想搜索所有调用以了解调用断开的原因,并返回断开连接原因的列表以及每个原因发生的次数。 示例结果集如下所示: causeCode
我是一名优秀的程序员,十分优秀!