标题:png楼兄,谢谢你的指教。但你所提供的代码结果与不对
取消只看楼主
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1519
专家分:174
注 册:2006-6-3
结帖率:79.3%
已结贴  问题点数:20 回复次数:3 
png楼兄,谢谢你的指教。但你所提供的代码结果与不对
png楼兄,谢谢你的指教。
我按你的代码对列名作一调正。
SELECT a.学校,a.语文,COUNT(b.语文)+1 as 名次 FROM xscj a LEFT join  xscj  b ON a.语文<b.语文 GROUP BY  a.学校,a.语文
产生结果与原表不同,如60分应排在第2位,但它排在第3位了。-60与20均为13名等见图1
如果语句改为:对语文成绩分组
SELECT a.语文,COUNT(b.语文)+1 as 名次 FROM xscj a LEFT join  xscj  b ON a.语文<b.语文 GROUP BY  a.语文
只对对语文成绩分组统计,则产生的名次号与图1不相同,出来的现象是:1、中间出现几个断档,2、又如60分应为第2位,但它排在第3位了,不知为什么?
图1[
 
       图2     
原表排序图

  
搜索更多相关主题的帖子: 统计 
2011-04-23 18:34
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1519
专家分:174
注 册:2006-6-3
得分:0 
png楼兄怎么没有回音呀
2011-04-25 22:05
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1519
专家分:174
注 册:2006-6-3
得分:0 
png;楼兄

数据庫没有id 主鍵
1。如不用 rgoup by 语句,就出来提示sql rgoup by 缺少或无效

SELECT a.语文,COUNT(b.语文)+1 as 名次 FROM xscj a LEFT join  xscj  b ON a.语文<b.语文

2。如用GROUP BY  a.语文,出来的名次号不对

SELECT a.语文,COUNT(b.语文)+1 as 名次 FROM xscj a LEFT join  xscj  b ON a.语文<b.语文 GROUP BY  a.语文


[ 本帖最后由 sylknb 于 2011-4-26 18:35 编辑 ]
2011-04-26 18:33
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1519
专家分:174
注 册:2006-6-3
得分:0 
谢谢您的指教。问题是不理介他的代码。
下述理介不知对否?请明示,谢谢!
1、a.语文是查询结果表FROM xscj.dbf AS a 中的列名,语文是原xscj.dbf的列名
2、SELECT 语文, (SELECT COUNT(*)+1 FROM xscj.dbf WHERE a.语文< 语文) AS 语文名次 FROM xscj.dbf AS a
用红色表示的是查询结果后表(2.JPG),用兰色表示的是原成绩表(1.jpg)。是把一个表好象分成实表与虚拟表(查询)。
   
2011-04-27 18:34



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-337696-1-1.html




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

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