主题:一个语句查询每个字段的排序
zhangheng77
[专家分:5510] 发布于 2006-06-12 13:55:00
如果有表1 有语文数学英语三个字段
语文 数学 英语
100 45 53
34 53 44
87 33 33
我想实现查询后语文字段出现语文的所有排名,数学出现数学的,...
为什么不能做如下查询:
select yuwen=(select yuwen from 1 order by yuwen),shuxue=(select shuxue from 1 order by shuxue),yingyu=(select yingyu from 1 order by yingyu) from 1;
回复列表 (共5个回复)
沙发
cwb1128 [专家分:3120] 发布于 2006-06-12 17:02:00
select yuwen from 1 order by yuwen
这个值必须是唯一的才可以
板凳
zhangheng77 [专家分:5510] 发布于 2006-06-12 17:08:00
那怎么办啊
3 楼
hanwb2002 [专家分:1340] 发布于 2006-06-13 12:09:00
那是不可能的,因为那样就会实现数据不统一,会有问题,你只能取舍那些
4 楼
233238447 [专家分:1350] 发布于 2006-06-16 21:49:00
select yuwen=(select yuwen from 1 order by yuwen),shuxue=(select shuxue from 1 order by shuxue),yingyu=(select yingyu from 1 order by yingyu) from 1;
晕,你的(select yuwen from 1 order by ******)返回的如果是多条记录,那么=号就不行,而用子查询里面出现了 order by 就一定要出现 top 知道不
你最好用连接来做那还好的多
5 楼
cainiaosong [专家分:130] 发布于 2006-06-23 23:06:00
select yuwen=(select yuwen from 1 order by yuwen),shuxue=(select shuxue from 1 order by shuxue),yingyu=(select yingyu from 1 order by yingyu) from 1;
本身就有语法错误,查询就通不过,多条查询不可以用"=".
默认情况下是升序查询,如果降序查询要用DESC.
如果不是查询全部信息,显示前面的用Top,按百分比显示用Percent.
我来回复