我學習一個SQL測試和上一年有最後一個問題:返回統計數的MIN()()
名誰研究論文數最少的學生。他們研究了多少份 論文?
到目前爲止,這是我所創建的選擇查詢:
select min(Full_Name), min(Amount)
from (select st.ST_F_Name & ' ' & st.ST_L_Name as Full_Name, count(*) as Amount
from (student_course as sc
inner join students as st
on st.ST_ID=sc.SC_ST_ID)
group by st.ST_F_Name & ' ' & st.ST_L_Name)
這完全適用回來時,我想要的結果,但我不知道這是我的方式應該正在做這個查詢?我覺得在Full_Name上調用min()會在某些情況下對我產生潛在的影響。有沒有更好的方法來做到這一點? (這是在MS Access原因不明)
這樣做,因爲在這種情況下只有一個學生返回。但是如果我有多個學生的論文數量最少的話呢?據我所知,這隻會返回一個學生,而不會返回其他人。我怎麼寫它,如果有多個,它會返回所有這些? – Syzorr
有兩種可能性:1.使用不存在具有較高讀取論文數的學生,2.找到最小值並再次與計數表一起獲得具有該數量的學生名稱。如果沒有「with」,兩個查詢都很煩人。 – maraca
順便說一句,在這個問題本身是不一致的:「學生」和「有」是單數,但「有」和「他們」是複數。 (我們希望使用'with',因爲這兩種方法都使用計數向中間表引用兩次,那麼我們不必再編寫兩次。) – maraca