请各位多多指教!
我现在有个表,表里有两个字段分别是:学号,成绩,其中学号是关键字段.学号和成绩都有相应的数据,例如学号为98771的成绩为590分,学号为98772的成绩为596分,学号为97771的成绩为589,这样的数据一共有N条.现在我想新增加一列用来写入相应的排名,这一列的数据是根据成绩字段里的成绩从高到低写入相应的排名,例如学号为98772的成绩为596分的排名为1,那么就在相应的排名列中写入1,学号为98771的成绩为590分,那么就在相应的排名列中写入2,学号为97771的成绩为589,那么就在相应的排名列中写入3......那些排名是自动录入的,而不是手工录入.只能在用MYSQL的语法写.
我现在有个表,表里有两个字段分别是:学号,成绩,其中学号是关键字段.学号和成绩都有相应的数据,例如学号为98771的成绩为590分,学号为98772的成绩为596分,学号为97771的成绩为589,这样的数据一共有N条.现在我想新增加一列用来写入相应的排名,这一列的数据是根据成绩字段里的成绩从高到低写入相应的排名,例如学号为98772的成绩为596分的排名为1,那么就在相应的排名列中写入1,学号为98771的成绩为590分,那么就在相应的排名列中写入2,学号为97771的成绩为589,那么就在相应的排名列中写入3......那些排名是自动录入的,而不是手工录入.只能在用MYSQL的语法写.
解决方案 »
- Java 中 .setVisible(false);之后是否还在运行?
- 能否用正则表达式取出字符串中的这个信息?
- 小女子跪求!!!
- 2009年度腾讯创新大赛
- Exception in thread "main" java.lang.NoClassDefFoundError:Hello
- 数组中的length属性是属于Java中的哪一个类的?
- 一个替换问题,在线等,解决就给分!!!!多谢了!!
- 关于this的所指
- JAVA新手出现了一个疑问,求大神指点一下,我好像没有那个什么悬赏分,刚注册没多久,别介意,希望谁教我一下。谢谢!
- 如何通过一个JFrame对象来重写其中的paint方法。
- 关于jdk1.5的一个警告不太清楚,请各位前辈指点。
- 有关查询方面的程序,应该怎么写?急急!!!!!帮帮忙!!!!!
然后依据这个顺序,更新排名
排名 = (select count(*) from 表 t2 where t2.成绩 > 表.成绩) + 1mysql 不懂,SQL 知道一些,或许可以。
UPDATE 表 SET 排名 = (select count(*) from 表 t2 where t2.成绩 > 表.成绩) + 1
这名!为什么要用到表 t2 ?
UPDATE 表 SET 排名 = (select count(*) from 表 t2 where t2.成绩 > 表.成绩) + 1这句的具体的意思是什么啊?
不过我觉得你的问题是不是不增加一列解决不了问题啊
int sum=0;
int j=0;
String sql="select count(*) from t1(表名)";
ResultSet rs=db.executeQuery(sql);
if(rs.next())
{
rs.next();
sum=rs.getInt(1);
}
for(int i=0;i<sum;i++)
{
j=i+1;
db.executeUpdate("update t1(表名) set mici(名次字段)='"+j+"' order by grade(dn )
}
int sum=0;
int j=0;
String sql="select count(*) from t1(表名)";
ResultSet rs=db.executeQuery(sql);
if(rs.next())
{
rs.next();
sum=rs.getInt(1);
}
for(int i=0;i<sum;i++)
{
j=i+1;
db.executeUpdate("update t1(表名) set mici(名次字段)='"+j+"' order by grade(成绩) desc limit "+i+",1");
}
xh int,
cj int,
mc int
)创建一个表。insert into test (xh, cj, mc) values (98771, 590, 0);
insert into test (xh, cj, mc) values (98772, 596, 0);插入两条记录。update test set mc=(select count(*) from test t2 where t2.cj > test.cj) + 1;执行更新。这里的 test t2 就是为表 test 起了个别名 t2,用不着在别的什么地方通过什么别的方法起。楼主需要学习一下 SQL,几乎每一本数据库书籍上都会有介绍。
int sum=0;
int num = 0;
String sql="select count(*) from grade";
try{
stat = conn.prepareStatement(sql);
results = stat.executeQuery();
if(results.next()){
sum=results.getInt(1);
}
for(int i=sum;i>0;i--){
stat.executeUpdate("update grade set num='"+i+"' order by result desc limit "+i+";");
}
}catch (Exception e){
e.getMessage();
}
}