我有這個(gè)架構(gòu):Students(sid:int,名字:str,姓氏:str,年份開始:int)Majors(sid: int, Major: str)注意:一名學(xué)生可能有多個(gè)專業(yè)。Grades(sid:int,cid:int,學(xué)分:int,等級(jí):int)注:sid,cid =外鍵,等級(jí):A = 4,B = 3,C = 2,D = 1,F(xiàn) = 0。Courses(cid:int,number:int,教授:str,專業(yè):str,年份:int,學(xué)期:str)注意:cid在各個(gè)學(xué)期中是唯一的。學(xué)期為夏季、秋季或春季。如果兩個(gè)課程具有相同的編號(hào) + 專業(yè),則它們是相同的通過(guò)這個(gè)模式,我需要“提供 SQL 查詢,該查詢將生成每個(gè)學(xué)生的名字、姓氏、開始年份和學(xué)分總數(shù)。您不應(yīng)該考慮 0 分的課程,因?yàn)檫@些課程對(duì)應(yīng)于不及格的課程”到目前為止我有這個(gè):def q4(self): query = ''' select s.firstName, s.lastName, s.yearStarted,count(*) from students s, grades g where s.sid = g.sid and g.grade >0 group by s.firstName, s.lastName, s.yearStarted ''' self.cur.execute(query) all_rows = self.cur.fetchall() return all_rows并返回這些值:[('安妮', '布朗', 2020, 1), ('杰克', '湯姆森', 2018, 3), ('雅各布', '麥卡錫', 2020, 2), ('賈馬爾', '瓊斯', 2019, 3), ('簡(jiǎn)', 'Doe', 2017, 2), ('約翰', 'Doe', 2017, 3), ('蒂姆', '伯頓', 2018, 3), ( “蒂娜”,“吉利根”,2019,3)]但顯然這些是錯(cuò)誤的,當(dāng)我上傳到 Gradescope 時(shí),它給了我這些位于附圖中的錯(cuò)誤有什么想法我做錯(cuò)了嗎?
1 回答

躍然一笑
TA貢獻(xiàn)1826條經(jīng)驗(yàn) 獲得超6個(gè)贊
def q4(self):
? ? query = '''
? ? select s.firstName, s.lastName, s.yearStarted,count(*)? as cnt
? ? from students s, grades g
? ? where s.sid = g.sid
? ? and g.grade >0
? ? group by s.sid, s.yearStarted
? ? order by s.yearStarted
? ? desc
? ? ?
? ? '''
? ? self.cur.execute(query)
? ? all_rows = self.cur.fetchall()
? ? return all_rows
添加回答
舉報(bào)
0/150
提交
取消