2017-12-02 5 views
1

私はこの機能を解決するための正しいアイデアを持っていると思いますが、テストしようとするとなぜこのエラーが出るのか分かりません。誰でもこの問題を解決するのを助けてくれますか?データベースの講師を数える

cur.execute(Q) sqlite3.OperationalError:近くに "HAVING":構文エラーを

コース表:ID、コース、セクション、名前 位置表:ID、ルーム

所望の出力:

>>> courses_how_many_instructors(db) 
[('HLTC16H3F', 2), ('MATA29H3F', 2), ('MATA32H3F', 3), ('MATA67H3F', 2), \ 
('MGAB01H3F', 3), ('MGAB03H3F', 2), ('MGAD65H3F', 2), ('BIOA01H3F', 3), \ 
('POLB80H3F', 2), ('STAB22H3F', 2), ('VPMA93H3F', 2), ('CHMA10H3F', 2), \ 
('CHMB16H3F', 2), ('CSCA08H3F', 2), ('CSCA67H3F', 2)] 

def courses_how_many_instructors(db): 
'''Return the course number and the number of instructors for courses with 
more than one instructor. Note that this means the ID must be 
the same for each instructor.''' 
query = '''SELECT Course, Name FROM Courses WHERE NAME>1 GROUP BY HAVING COUNT(Name)''' 
return run_query(db, query) 
+0

テーブルの定義を共有できますか? – Mureinik

+0

私の編集をチェックしてください。それは特定の順序でリストされたテーブルを持っています – deezy

答えて

0

あなたはcourse列によってグループにあなたの結果を必要とする:

SELECT course, COUNT(DISTINCT name) AS num_instructors 
FROM  courses 
GROUP BY name 
HAVING COUNT(DISTINCT name) > 1 
+0

num_instructorsとは何ですか? – deezy

+0

2番目の列の意味を伝えるためのエイリアス – Mureinik

+0

何をする必要がありますか? – deezy

関連する問題