我有一個包含3列的表稱爲記錄所有科目:學生,科目和年級如何選擇所採取的所有學生,使得學生在他們拿了級> 50
每個{X,Y,Z }表中的條目意味着學生x將y分爲z等級。如果學生x沒有參加課程y,那麼表格中就不存在該參賽作品。所以這個表格就像所有學生的大學記錄以及他們所學的科目。
我要選擇那些採取所有學生所有科目,所有學生在這些科目的成績都高於60
我試圖創建
CREATE TABLE temp SELECT subject FROM records WHERE grade > 60;
然後我用臨時表創建一個具有主題和數量的新表,其中count統計接受該主題的學生數,然後刪除所有具有<學生數的行。但我知道這是非常低效的。
我怎樣才能做到這一點更有效地使用MySQL?
此外,如果你能給我提供良好的MySQL資源/教程鏈接,這樣我可以練習,我將感謝。我是MySQL的新手,我正在處理大型數據庫,我需要讓我的查詢更高效和直接。
編輯 - 添加了更多的閱讀建議。 –
感謝您的建議,用這種方法的一個問題是,如果主題不採取每個人,但由少數學生採取與這一小羣學生拿到> = 60,然後這一主題將在此查詢顯示出來,但我不希望那。 –
我明白。定義「小組」,我會更新。或者你想讓這個主題被所有學生拍攝? –