我正在使用MySQL。
我有一个表grades
,看起来如下所示:
course_id grade
101 90
101 100
101 100
102 92
102 85
102 90
我有一个视图,使用下面的查询计算每个类在每个bin中有多少个等级。
SELECT
*,
COUNT(grade_bin) as count
FROM
(SELECT
course_id,
FLOOR(grade/5.00)*5 AS grade_bin
FROM ranked_grades) as t
GROUP BY course_id, grade_bin
ORDER BY course_id, grade_bin ASC;
这将返回:
course_id grade_bin count
101 90 1
101 100 2
102 85 1
102 90 2
我想在此视图中添加空箱,如下所示:
course_id grade_bin count
101 40 0
101 45 0
... ... ...
101 100 2
102 40 0
... ... ...
因此,箱增加5,从40开始,到100停止。我的想法是为空bin创建一个表,插入每个等级bin和一个0计数,然后使用union
,但我无法使union
工作,因为我在空bin表中没有course_id
列(我也不想--有很多,而且它们可能会更改)。如何对每组course_ids
进行联合?
从一个箱列表开始。然后使用交叉联接
生成所有行。最后,加入现有数据。
所以:
SELECT c.course_id, gb.grade_bin, COUNT(rg.course_id) as cnt
FROM (SELECT 40 as grade_bin UNION ALL
SELECT 45 as grade_bin UNION ALL
SELECT 50 as grade_bin UNION ALL
. . .
SELECT 100 as grade_bin UNION ALL
) gb CROSS JOIN
(SELECT DISTINCT course_id
FROM ranked_grades
) c LEFT JOIN
ranked_grades rg
ON rg.course_id = c.course_id AND
rg.grade >= gb.grade_bin AND
rg.grade < gb.grade_bin + 5
GROUP BY c.course_id, gb.grade_bin;
注意:这将从ranked_grades
表中检索课程。您还可以使用courses
表,该表可能也是可用的。
问题内容: 我试图在Java中实现一个非常简单的Trie,该Trie支持3种操作。我希望它具有一个insert方法,一个has方法(即trie中的某个单词)和一个toString方法以字符串形式返回trie。我相信我的插入工作正常,但是has和toString证明很困难。到目前为止,这就是我所拥有的。 特里类。 和节点类 因此,基本上,在创建Trie时,将创建一个TrieNode作为具有26个子级
我有2%s: 我需要这样的联合: 函数不起作用,因为列的编号和名称不同。 我怎么能这么做?
目前我正在为学校做一个项目,下面是要求: 编写一个Temperature类,它将保持以华氏为单位的温度,并提供获取以华氏、摄氏度和开尔文为单位的温度的方法。该类应具有以下字段: :保持华氏温度的倍增器。 该类应具有以下方法: :构造函数接受华氏温度(双倍)并将其存储在ftemp字段中。 :set Fahrenheit方法接受一个华氏温度(作为双值),并将其存储在ftemp字段中。 :返回ftemp
我的量角器套件里有15个规格。我想要并行运行这些脚本,并且,想要在这次执行中生成统一的报告。 通过在配置文件中添加标记“shard testfiles:true”,我可以并行运行这些脚本。但是,我不能得到合并报告(只能在报告中得到最后执行的spec的结果)。
运行python main。py其中为main。py具有相对导入将失败。 梅因。派克 other.py PEP 338——以脚本形式执行模块很明显,显式相对导入无法从主模块中工作。 2.5b1的发布显示了这个PEP和PEP 328之间令人惊讶的(尽管回想起来很明显)相互作用——显式的相对导入不适用于主模块。这是因为相对导入依赖于来确定当前模块在包层次结构中的位置。在主模块中,的值总是,因此显式的相
我有一个示例数据集,如下所示 Col1 Col2 Col3 A 1,2,3 A123 A 4,5 A456 A 1,2,3 A456 A 4,5 A123 我参考了一些解决方案,并尝试了以下方法。但它只追加单个列。