我在MySQL中有一个查询:
SELECT
Identifier,
SUM(Course_Credits)
FROM
PredictiveAnalytics.PA_UCF_COURSES_TAKEN
WHERE
Enrollment_Term_Code = 1350 AND
Course_Grade in ('A','B+','B','C+','C','C-')
GROUP BY
Identifier;
此查询返回两个列的表,其中包括Identifier
和SUM(Course_Credits)
。
我必须编写一个for循环代码,以便在每次迭代中将列添加到表中。迭代Enrollment_Term_Code
被编码到上面的1350。
Enrollment_Term_Code
S包括1350、1370和1390。第一个表的对应代码是(与上面相同的查询):
data = pd.read_sql_query("SELECT Identifier, sum(Course_Credits) FROM PredictiveAnalytics.PA_UCF_COURSES_TAKEN where Enrollment_Term=1350 Course_Grade in ('A','B+','B','C+','C','C-') group by Identifier;", rconn)
如果有人指导我如何将另外两列添加到这个表中,我将不胜感激。
发布于 2018-07-31 17:30:34
考虑到你的术语代码在列表中(让我们称之为term_codes
),你可以遍历列表,并在每个术语代码中调用一次查询,如下所示:
sql_query = """SELECT
Identifier,
SUM(Course_Credits)
FROM
PredictiveAnalytics.PA_UCF_COURSES_TAKEN
WHERE
Enrollment_Term_Code = ? AND
Course_Grade in ('A','B+','B','C+','C','C-')
GROUP BY
Identifier;"""
term_codes = [1350, 1370, 1390]
for term_code in term_codes:
data = pd.read_sql_query(sql_query, rconn, params=[term_code,])
https://stackoverflow.com/questions/-100001806
复制相似问题