我試圖找到在「大數據」課程中獲得最高成績的人的名字。SQL - 如何找到最高年級的人
我有3個不同的表:
People (id, name, age, address)
---------------------------------------------------
p1 | Tom Martin| 24 | 11, Integer Avenue, Fractions, MA
p2 | Al Smith | 33 | 26, Main Street, Noman's Land, PA
p3 | Kim Burton| 40 | 45, Elm Street, Blacksburg, VA
---------------------------------------------------
Courses (cid, name, department)
---------------------------------------------------------
c1 | Systematic Torture | MATH
c2 | Pretty Painful | CS
c3 | Not so Bad | MATH
c4 | Big Data | CS
---------------------------------------------------------
Grades (pid, cid, grade)
---------------------------------------------------
p1 | c1 | 3.5
p2 | c3 | 2.5
p3 | c2 | 4.0
p3 | c4 | 3.85
---------------------------------------------------
我無法弄清楚如何找到具有最高等級的人,而無需使用任何花哨的SQL功能。也就是說,我只想使用SELECT,FROM,WHERE,UNION,INTERSECT,EXCEPT,CREATE VIEW和算術比較運算符,如=,<,>。 我的結果是顯示了一些東西,而不是我試圖實現的。
這是我到目前爲止已經試過:
CREATE VIEW TEMPFIVE AS
SELECT G1.pid FROM Grades AS G1, Grades AS G2 WHERE G1.pid = G2.pid AND G1.cid = G2.cid
SELECT People.name, Courses.name FROM TEMPFIVE, People, Courses WHERE TEMPFIVE.pid = People.pid AND Courses.name = "Big Data";
+------------+----------+
| name | name |
+------------+----------+
| Tom Martin | Big Data |
| Al Smith | Big Data |
|Kim Burton | Big Data |
|Kim Burton | Big Data |
+------------+----------+
mysql或sql-server? – techspider
你使用的是MySQL還是MS SQL Server?答案可能取決於它。 (並且不要標記不涉及的產品。) – jarlh
我正在嘗試找到用戶最常用的stackoverflow作業問題,我該怎麼做? –