我正在Python上的SQLite3中处理一个表,该表有四个属性-
ID, added(date when course added to subsection), course_id, course_subsection_title
其中,date_added属性包含课程添加到course_subsection的日期,course_id包含添加的课程的ID,ID包含course_subsection的ID。然后计算添加到特定course_subsection的最早的教程和最近的教程之间经过的天数。我有一个查询如下,但它似乎是不正确的工作-
query = '''
SELECT
course_subsections.ID as id,
CAST((JulianDay(max(course_subsections.added)) - JulianDay(min(course_subsections.added))) as INTEGER) as num_days_passed
FROM course_subsections
WHERE course_subsections.ID = (
SELECT course_subsections.ID
FROM course_subsections
GROUP BY course_subsections.ID
)
ORDER BY num_days_passed DESC
'''
然而,这并不是它应该的工作方式。我对SQLite非常陌生,对嵌套子查询的一般工作方式仍然有一些困惑。你能帮助我解决我在这里哪里出错吗?
1条答案
按热度按时间bq8i3lrv1#
移除
WHERE
子句。它过滤掉所有的
ID
,只保留表中的一个:请参阅简化的demo。