首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何通过MySQL和python添加具有for循环的列?

如何通过MySQL和python添加具有for循环的列?
EN

Stack Overflow用户
提问于 2018-07-31 07:34:49
回答 1查看 0关注 0票数 0

我在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;

此查询返回两个列的表,其中包括IdentifierSUM(Course_Credits)

我必须编写一个for循环代码,以便在每次迭代中将列添加到表中。迭代Enrollment_Term_Code被编码到上面的1350。

Enrollment_Term_CodeS包括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)

如果有人指导我如何将另外两列添加到这个表中,我将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 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,])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100001806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档