字段数据相加求和

yangxihe8518 2012-04-24 10:33:41
比如:我做一个表“学生成绩表”
字段有:学号、姓名、语文、数学、英语、总分,总共六个字段,现在是有学生比如:学号:1、姓名:张三、语文:65、数学:75、英语:80;学号:2、姓名:李四、语文:60、数学:70、英语:80;学号:3、姓名:王麻子、语文:68、数学:72、英语:85;那么我怎么求他们的总分是多少?还有三个人的数学总分是多少、语文总分是多少、英语总分是多少、和他们的总分和是多少?再拿总分来平均分给他们,这样知道他们的平均分?谢谢!
...全文
1270 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
码无边 2012-04-25
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 的回复:]

PHP code
$sql =<<< SQL
create table `学生成绩表` (
`学号` int,
`姓名` varchar(10),
`语文` int default 0,
`数学` int default 0,
`英语` int default 0,
`总分` int default 0,
PRIMARY KEY (`学号`)
)
SQL;
//my……
[/Quote]很受用!
一起混吧 2012-04-24
  • 打赏
  • 举报
回复
由于没看到你类是怎么些的。只能提供原装的程序:
$sql="select sum(`yuwen`) as yuwen_sum from cehngjidan where Uid='".$Uid."'";
$result=mysql_query($sql);
$row=mysql_fetch_assoc($result);
echo $row['yuwen_sum'];
yangxihe8518 2012-04-24
  • 打赏
  • 举报
回复
你们先教我怎么取语文那一个字段的总语文成绩是多少吧?应该怎么写?写详细点啊?谢谢啊!怎么执行到数据库、然后再怎么从数据库里面取出来。
xuzuning 2012-04-24
  • 打赏
  • 举报
回复
你有 $obj->exec($sqlsum)
显然这是在使用自定义的类,这个累的使用方法由开发者提供。我们不知道你的类值如何定义的,当然也就不知道下一步该如何做了
yangxihe8518 2012-04-24
  • 打赏
  • 举报
回复
你们说详细点啊,我不懂啊!select sum(`yuwen`) from cehngjidan where Uid='".$Uid."'";
没有错,下面应该怎么写,怎么输出?我不知道啦!
改一下昵称 2012-04-24
  • 打赏
  • 举报
回复
select sum(`yuwen`) from cehngjidan where Uid='".$Uid."'";
环绕yuwen两边的,是键盘tab键上面ESC键下面的那个斜点,不是引号什么的
$total=$obj->exec($sqlsum); 这种写法只是返回update,delete语法操作后的更新函数,要用 $obj->query()来取得select语句的结果集
http://cn.php.net/manual/en/pdo.query.php
yangxihe8518 2012-04-24
  • 打赏
  • 举报
回复
我这样写对不对啊:$sqlsum="select sum(’yuwen‘) from cehngjidan where Uid='".$Uid."'";
那么下面怎么写?是这样写吗:$total=$obj->exec($sqlsum);这样怎么输出?
  • 打赏
  • 举报
回复
楼上正解,我只能提供手册帮助了:http://download.csdn.net/detail/dmtnewtons/4251049
其中:12.4.2. 数学函数
一起混吧 2012-04-24
  • 打赏
  • 举报
回复
每个人总分: select 语文+数学+英语 as num from stu;
单科总分: select sum(语文) as 语文总分 from stu;
总分和: select sum(语文)+sum(数学)+sum(英语) as 总分和 from stu;
改一下昵称 2012-04-24
  • 打赏
  • 举报
回复
详情参见mysql的 sum函数, avg函数
例如,
# 计算所有学生的数学总分 
SELECT sum(`数学`) AS `mathSum` FROM `成绩表`
# 计算所有学生的总分和
SELECT sum(`语文`) + sum(`数学`) + sum(`英语`) AS `总分` FROM `成绩表
# 计算英语平均分
SELECT avg(`英语`) FROM `成绩表`
乌镇程序员 2012-04-24
  • 打赏
  • 举报
回复
数据库操作吗??加入你用的是MySQL:
单人总分字段允许空值的话,先把各科成绩插入学生成绩表,再用UPDATE计算单人的总分:
UPDATE `学生成绩表` SET `总分` = `语文` + `数学` + `英语`;


计算所有学生单科总分或者三科总分:
SELECT SUM(`语文`) AS `语文总分` FROM `学生成绩表`;
SELECT SUM(`总分`) AS `三科总分` FROM `学生成绩表`;
yangxihe8518 2012-04-24
  • 打赏
  • 举报
回复
谢谢你们,问题已经解决,可能是我说的不够详细和足够好,你们没有理解我的意思!不过问题还是解决啦。明天结贴。谢谢!
littlebirds 2012-04-24
  • 打赏
  • 举报
回复
楼主,你想得到的楼上都给你了。还有哪里有问题?
yangxihe8518 2012-04-24
  • 打赏
  • 举报
回复
我的表就和你这个表一样:
(1, '张三', 65, 75, 80, 0),
(2, '李四', 60, 70, 80, 0),
(3, '王麻子', 68, 72, 85, 0)
只有一个就是 table 是 chengjidan 其余都一样。
xuzuning 2012-04-24
  • 打赏
  • 举报
回复
是多了点,要是开培训班,可以是好几天的课程了
yangxihe8518 2012-04-24
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 的回复:]
PHP code

$sql =<<< SQL
create table `学生成绩表` (
`学号` int,
`姓名` varchar(10),
`语文` int default 0,
`数学` int default 0,
`英语` int default 0,
`总分` int default 0,
PRIMARY KEY (`学号`)
)……
[/Quote]
你这个太多啦!我看不懂,你直接教我简单点的,就是怎么得到语文总成绩?
yangxihe8518 2012-04-24
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]
由于没看到你类是怎么些的。只能提供原装的程序:
$sql="select sum(`yuwen`) as yuwen_sum from cehngjidan where Uid='".$Uid."'";
$result=mysql_query($sql);
$row=mysql_fetch_assoc($result);
echo $row['yuwen_sum'];
[/Quote]
这样写输出来是:0,那不对啊。
xuzuning 2012-04-24
  • 打赏
  • 举报
回复
$sql =<<< SQL
create table `学生成绩表` (
`学号` int,
`姓名` varchar(10),
`语文` int default 0,
`数学` int default 0,
`英语` int default 0,
`总分` int default 0,
PRIMARY KEY (`学号`)
)
SQL;
//mysql_query($sql) or die(mysql_error());//执行一次后就注释掉

$sql = <<< SQL
insert into `学生成绩表` values
(1, '张三', 65, 75, 80, 0),
(2, '李四', 60, 70, 80, 0),
(3, '王麻子', 68, 72, 85, 0)
SQL;
//mysql_query($sql) or die(mysql_error());//执行一次后就注释掉

//mysql_query('update `学生成绩表` set `总分`=`语文`+`数学`+`英语`');//执行一次后就注释掉

$sql =<<< SQL
select
sum(`总分`) as `总分合计`, avg(`总分`) as `总平均分`,
sum(`语文`) as `语文总分`, avg(`语文`) as `语文平均分`,
sum(`数学`) as `数学合计`, avg(`数学`) as `数学平均分`,
sum(`英语`) as `英语合计`, avg(`英语`) as `英语平均分`
from `学生成绩表`
SQL;
$rs = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_assoc($rs);
print_r($row);
Array
(
[总分合计] => 655
[总平均分] => 218.3333
[语文总分] => 193
[语文平均分] => 64.3333
[数学合计] => 217
[数学平均分] => 72.3333
[英语合计] => 245
[英语平均分] => 81.6667
)
yangxihe8518 2012-04-24
  • 打赏
  • 举报
回复
这个as yuwen_sum是什么意思?我这里没有这个怎么写进去?

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧