请各位多多指教!
我现在有个表,表里有两个字段分别是:学号,成绩,其中学号是关键字段.学号和成绩都有相应的数据,例如学号为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的语法写.
解决方案 »
- 求问一个简单的正则表达式
- 九九乘法表
- 请教一个编程问题,谢谢!
- 十万火急!关于重写JFileChooser中cellEditor的问题
- 请问JAVA用什么代替C/C++中的宏定义?
- 我是新手,请来看看吧!
- 用Microsoft的J++还有没有前途呢?还有JDBC桥的问题?
- !“访问控制 (4)”中的问题在下实在不会??
- 在JAVA中有沒有對字串編碼之後再解碼的函數呀?就像PHP中的base64_encode()一樣的?
- saucer(思归) 你好~!我还差你400分~!请进来拿~!
- 关于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();
}
}