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 原表排序图