请高手解释,关于自连接
时间: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 |
+----+---------+-------+
(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#结帖
'截至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
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28