求助php+mysql 操作数据库

我有这样一个数据表A:班级学号数学成绩601001985010035830200294601012786010057440300688403011684030049760... 我有这样一个数据表A:
班级 学号 数学成绩
601 001 98
501 003 58
302 002 94
601 012 78
601 005 74
403 006 88
403 011 68
403 004 97
601 008 84
504 001 86
504 005 77
302 006 87
302 017 65
403 012 96
504 004 64
302 001 87
601 009 91
... ... ...
希望用php语言结合MYSQL能对此数据表做如下操作:
取出每一个班级的数学成绩的最高分scoreH,并与此班级其他每一个同学的成绩进行比较,如果scoreH/其他同学的成绩>0.6(即比值大于0.6),则将分母上的这个同学的整条记录从这个表A中删去.否则对表A不进行任何操作
注:要求对每个班级都进行同样的操作。
展开
 我来答
MCodeX
2011-08-02 · TA获得超过306个赞
知道小有建树答主
回答量:411
采纳率:0%
帮助的人:458万
展开全部
你是否已经建立数据表呢?如果不会建立可以留下QQ我帮你..
下面是我假定你已经建立数据表,并且单元名是我假设的,php代码你看着改
数据表名为 : mark
班级:class 学号:sid 分数:mark
<?php
// 数据库链接以及筛选数据库我就不写了,如果不会可以留下QQ.. 假设数据库连接信息为$link
$query_class = mysql_query("SELECT DISTINCT class FROM mark");
while ($class = mysql_fetch_array($query)) {
$query_top = mysql_query("SELECT mark, COUNT(*) FROM mark WHERE $class['class'] ORDER BY mark DESC LIMIT 0,1");
$topmark = mysql_result($query_top, 0);
$count = mysql_result(query_top, 1) - 1;
$query_other = mysql_query("SELECT mark,sid FROM mark WHERE $class['class'] ORDER BY mark DESC LIMIT 1,$count");
while ( $mark = mysql_fetch_array($query_other) ) {
$othermark = mysql_result($query_other, 0);
$sid = mysql_result($query_other, 1);
if ( ($topmark/$othermark) > 0.6 ) {
mysql_query("DELETE FROM mark WHERE class = $class['class'] AND sid = $sid");
}
}
}
?>

这样应该可以了~因为直接在这个框框里面写可能有点乱
如果不行的话留下QQ我联系你解决..
追问
思路很清晰,有几个地方,不知道我改的对不对
while ($class = mysql_fetch_array($query)) -》while ($class = mysql_fetch_array($query_class ))
$count = mysql_result(query_top, 1) - 1;-》$count = mysql_result($query_top, 1) - 1;
另外想请教一下
$othermark = mysql_result($query_other, 0);
$sid = mysql_result($query_other, 1);
这里括号里的0和1的意义,请赐教
追答
嗯..改对了,我写的那个没有仔细看.. 你把我错误的地方改出来了

0的话是取第一个,也就是取找出的第一个..
1的话是取第二个,找出后的第二个...
select xxx,zzz from
这句里面
0指的是xxx
1指的是zzz
80后邓老
2011-08-02 · TA获得超过885个赞
知道小有建树答主
回答量:1095
采纳率:0%
帮助的人:840万
展开全部
有点难度
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dahuang871015
2011-08-02 · 超过64用户采纳过TA的回答
知道答主
回答量:281
采纳率:0%
帮助的人:194万
展开全部
就是对表进行删除数据的操作,应该不会太难
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式