| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2708 人关注过本帖
标题:那位高手能给解释下什么意思吗?有点看不懂
只看楼主 加入收藏
bufanchao
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2015-11-30
结帖率:0
收藏
已结贴  问题点数:20 回复次数:19 
那位高手能给解释下什么意思吗?有点看不懂
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册
划线部分什么意思?
2016-06-04 11:47
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:5 
1+(select count(*) from 成绩数据表 a where a.总分 > 成绩数据表.总分) as 名次
意思是,你的总分为600分,拿你的600分和成绩表中的总分比较,看看你600分有多少条记录是 600>总分的,
比如:
记录,总分
1,500
2,400
3,660
4,800,
5,410
6,600
那么,600大于的就有500,400,410,那么名次=1+3=4,
他这个是错误的,误人子弟,
应该是用 a.总分 < 成绩表总分
600小于的有 800,660,名次=2+1,第3名,才是对的。
如果你的分数是800,那么800小于的没有,名次=0+1,第1名次
所以,下面的才是正确的,如果区别同名次的,好像是用 <= 来对比
1+(select count(*) from 成绩数据表 a where a.总分 < 成绩数据表.总分) as 名次


[此贴子已经被作者于2016-6-4 12:11编辑过]

2016-06-04 12:08
bufanchao
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2015-11-30
收藏
得分:0 
谢谢 关键是 现在不理解 a  是什么意思? 成绩数据表 a where a.总分
2016-06-04 12:11
bufanchao
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2015-11-30
收藏
得分:0 
回复 2楼 mywisdom88
a 代表什么
2016-06-04 12:13
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
select count(*) from 成绩数据表 a where a.总分 < 成绩数据表.总分
其实是
select count(*) from 成绩数据表 as a where a.总分 < 成绩数据表.总分
就是子查询的 表名是 a,a 的源表是,成绩数据表
因为子查询的表名和源表名相同,所以,要把子查询的表名改为 a,
如果是
select count(*) from 成绩表 where 成绩表总分 < 成绩数据表.总分
就可以不用改名了,


2016-06-04 12:18
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
select a.*,b.* from 妈妈妈妈妈妈 a,爸爸爸爸爸爸 b where a.年龄=b.年龄
有的时候,由于源表名次很长,在查询的时候,书写不方便,我们就用到他的别名,或者子查询的源表名称和相同,就一定要用别名
上面的可以不用别名,如
select a.*,b.* from 妈妈妈妈妈妈,爸爸爸爸爸爸 where 妈妈妈妈妈妈.年龄=爸爸爸爸爸爸.年龄

2016-06-04 12:23
bufanchao
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2015-11-30
收藏
得分:0 
回复 5楼 mywisdom88
谢谢 ,我在理解理解
2016-06-04 12:23
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
以下是引用bufanchao在2016-6-4 12:23:20的发言:

谢谢 ,我在理解理解
select xm as 姓名,xb 性别 from 表
xm as 姓名 ********源表的字段名称 xm ,查询出来的结果 的字段名就是 姓名,可以省略 as 但一定要有 空格,如 xb 性别
2016-06-04 12:27
bufanchao
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2015-11-30
收藏
得分:0 
亲 提示 不能使用子查询
2016-06-04 12:37
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:5 
先研究SQL命令的语法,再来问为什么。
关键是上机操作。

坚守VFP最后的阵地
2016-06-04 12:52
快速回复:那位高手能给解释下什么意思吗?有点看不懂
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024410 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved