98年高考資料庫第二題第三小題 - 高考

Table of Contents

這是我找到的答案
SELECT pId, COUNT(*)
FROM BorrowRecord
WHERE borrowDate between ‘2009/01/01’ AND ‘2009/12/31’AND
pId in (
SELECT pId
FROM BorrowRecord
GROUP pId
HAVING COUNT(*)>=10
)

我自己寫的是
select pid,count(*)
from BorrowRecord
where borrowDate between ‘2009/01/01’ AND ‘2009/12/31’
group by pid
having count(*)>10

請問這樣出來的結果會一樣嗎 謝謝

--

All Comments

Zanna avatarZanna2014-04-17
可以實際寫一個跑跑看
Tracy avatarTracy2014-04-22
若from recorddate沒錯,那應該一樣。
Barb Cronin avatarBarb Cronin2014-04-25
不一樣
Tristan Cohan avatarTristan Cohan2014-04-28
題目白話說 我要把總數要大於10的pid先找出來 在找這些pid
在2009年間得個別數量 但你的會變成 我要找pid在2009年間
且總數大於10的數量
Charlotte avatarCharlotte2014-05-01
不對,你錯了,會一樣。
Adele avatarAdele2014-05-02
應該不一樣吧@@? 而且原po找的答案好像也錯了~"~
Kyle avatarKyle2014-05-07
題目應該是要找 總借閱次數大於10筆的那些人在2009
Rosalind avatarRosalind2014-05-07
的個別借閱次數
Linda avatarLinda2014-05-12
原po寫的好像會變成把2009年的借閱紀錄先查出來
再去group by 並且把count >10的列出來
Hedwig avatarHedwig2014-05-14
sql的執行順序 應該是 from->where->group->having
Daniel avatarDaniel2014-05-18
最近才開始準備 我也不太確定QQ.. 總覺得怪怪的