Re: [SQL ] 高考SQL題目
: 看過去雖然有四個TABLE,實際語意讓我覺得只用到前兩個?
: 請問這題有很多小題嗎?
: member and friend 這兩個table
: FriendRelation.friend 內容應該會=mid 請問題目有說明嗎?
: 先找出 FriendRelation.friend 該欄位 最多被記錄的然後回頭查
: FriendRelation出 mid 然後關連到 member 這樣會寫了嗎?
: -- ORACLE --
: SELECT T3.MID, T3.NAME, T3.BDATE, T2.FRIEND
: FROM (SELECT *
: FROM (SELECT T.FRIEND, COUNT(*) CNT
: FROM FriendRelation T
: GROUP BY T.FRIEND
: ORDER BY CNT DESC) T1
: WHERE ROWNUM = 1) T2,
: Member T3
: WHERE T3.MID = T2.FRIEND
: -- MS-SQL --
: SELECT T2.MID,T2.NAME,T2.BDATE,T1.FRIEND
: FROM (SELECT TOP 1 FRIEND,COUNT(*) AS CNT
: FROM FriendRelation
: GROUP BY FRIEND
: ORDER BY CNT DESC ) AS T1 ,
: MEMBERS T2
: WHERE T1.FRIEND = T2.MID
: 應該是這樣寫吧 = = 我手邊沒辦法幫你測 囧
: 另外ORACLE 那段 要回答答案的話 T2.FRIEND
: AND MS-SQL T2.FRIEND 都要拿掉
: 因為題目沒有說要顯示這個。
謝謝 這題還有另一小題 我沒列出 我原本是寫
select mId,name,bDate
From Member
Where mId in (select friend
From FriendRelation
group by friend
having count(*) = max(count(*))
)
我用mysql測 有語法錯誤 應該是max不能這樣用吧
你提供的那兩段用mysql測 也是顯示有語法問題 但語意很清楚了
THX
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.129.5.93
討論串 (同標題文章)