假設我們有3個表,分別是videogames、developers和workson。
在videogames表中,我們有以下屬性:
然後在developers表中,我們有:
然後在workson表中,我們有:
我的程式碼嘗試:
SELECT MAX(videogameid) FROM (SELECT videogameid FROM workson GROUP BY videogameid HAVING COUNT(DISTINCT developerid)>5 )videogames_with_most_developers;
然而,我未能檢索到帶有標題的答案(主要是因為我沒有選擇標題),但這是因為我似乎無法建立連接。
編輯:我們有一些範例數據,videogames表中有:
插入電玩遊戲(videogameid、標題、年份、類型)
VALUES (111,'魔獸世界',2004,'MMORPG'); 插入視訊遊戲(視訊遊戲 ID、標題、年份、類型) VALUES (112,'星海爭霸2',2008,'RTS');
developers表格中有:
插入開發人員(開發人員 ID、性別、姓名) 值(98734,'M','約翰遜'); 插入開發人員(開發人員 ID、性別、姓名) 值(98735,“F”,“里賈納”); 插入開發人員(開發人員 ID、性別、姓名) 值(98736,“M”,“拉馬爾”);
workson表格中有:
插入workson(videogameid,developerid) 值 (111, 98734); 插入workson(videogameid,developerid) 價值觀 (111, 98735); 插入workson(videogameid,developerid) 值 (112, 98736);
預期輸出應該是標題為'魔獸世界',因為它有最多的導演在此項目上工作,數量為2,而標題為'Starcraft 2'的項目在此示例數據中沒有最多的開發人員。
在選擇查詢中選擇的列/聚合函數(MAX、COUNT、AVG等)將顯示為一個表格。 在你的查詢中:
只會顯示具有最大值的視頻遊戲的id。你只選擇了具有最大值的videogameid。在查詢的第二部分中,選擇了與5個以上開發人員合作的videogameid。同樣,沒有選擇標題與外部SQL查詢連接。
修改後的查詢:
#此查詢顯示具有5個以上開發人員的videogameid和標題
另一個查詢:
#這顯示了具有最多開發人員的選定視訊遊戲的videogameid和開發人員數量。沒有標題。
如果我們想要看到標題:
此查詢顯示具有最多開發人員的標題和videogameid。
#