从本质上讲,我正在尝试做一个案例说明,以计算计算机科学部门,生物学部门中的课程数量以及一个课程中所有其他课程的总数名为 Others 的行。
它应该像这样:
这是我的查询实际显示的内容:
如果没有任何意义或您需要更多信息,请告诉我。谢谢!
这是表架构和数据:
select
dept_name,
case
when dept_name = 'Comp. Sci.' then count(course_id)
when dept_name = 'Biology' then count(course_id)
else count(course_id)
end as 'Courses'
from
course
group by
dept_name;
这是我当前的查询:
import re
from datetime import datetime, timedelta
question = "How long is the video (mm:ss)? "
how_long = input(question).strip()
while not re.match(r"^[0-5]?\d:[0-5]?\d$", how_long): # regex to check if mm:ss digits are in range 0-5
how_long = input("Wrong format. " + question).strip()
mm_ss = how_long.split(":")
how_long_obj = datetime.strptime(f"{mm_ss[0]}:{mm_ss[1]}", '%M:%S')
print(f"{how_long_obj - timedelta(seconds=68):%M:%S}")
答案 0 :(得分:0)
该查询的一种方法是创建一个new_dept_name
列,以连接要求部门名称,该名称将进入标签Other
,然后group by
这个新列,最后使用这些组中的标准count()
:
SELECT
CASE
WHEN dept_name = "Biology" THEN "Biology"
WHEN dept_name = "Comp. Sci." THEN "Comp. Sci."
ELSE "Other"
END AS new_dept_name,
count(course_id) AS numCourses
FROM
course
GROUP BY
new_dept_name
您可以在此处查看在线示例: