+ -
当前位置:首页 → 问答吧 → 请高手解释,关于自连接

请高手解释,关于自连接

时间:2011-08-21

来源:互联网

我的目的是得到各个subject前三名的记录。两种写法:
(1)select *
from report t
where (select count(1)+1 from report where subject=t.subject and mark>t.mark)<=3
(2)select *
from report as t1,report as t2
where (select count(1)+1 from t1 where t1.subject=t2.subject and t1.mark>t2.mark)<=3
第一种成功了,第二种错误提示。高手们,能解释一下为什么吗?
report表:
+----+---------+-------+
| ID | subject | mark |
+----+---------+-------+
| 1 | 地理 | 71.00 |
| 2 | 地理 | 59.00 |
| 3 | 地理 | 42.00 |
| 4 | 地理 | 48.00 |
| 5 | 地理 | 66.00 |
| 6 | 地理 | 55.00 |
| 1 | 中文 | 65.00 |
| 2 | 中文 | 48.00 |
| 3 | 中文 | 84.00 |
| 4 | 中文 | 58.00 |
| 5 | 中文 | 74.00 |
| 6 | 中文 | 98.00 |
| 1 | 历史 | 45.00 |
| 2 | 历史 | 74.00 |
| 3 | 历史 | 86.00 |
| 4 | 历史 | 62.00 |
| 5 | 历史 | 52.00 |
| 6 | 历史 | 96.00 |
+----+---------+-------+

作者: zouyuejian   发布时间: 2011-08-21

zouyuejian (zouyuejian)
  '截至2011-08-21 11:54:14 用户结帖率100.00% 总发帖:2 正常结帖:0


当您的问题得到解答后请及时结贴.
http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
http://topic.csdn.net/u/20100428/09/BC9E0908-F250-42A6-8765-B50A82FE186A.html
http://topic.csdn.net/u/20100626/09/f35a4763-4b59-49c3-8061-d48fdbc29561.html

8、如何给分和结贴?
http://community.csdn.net/Help/HelpCenter.htm#结帖


作者: ACMAIN_CHM   发布时间: 2011-08-21

引用第一种成功了,第二种错误提示。高手们,能解释一下为什么吗?
请把错误信息一同贴出。

作者: ACMAIN_CHM   发布时间: 2011-08-21