作者kisha024 (4545454554)
看板Database
标题Re: [SQL ] 高考SQL题目
时间Sun Aug 14 21:36:38 2011
: 看过去虽然有四个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