十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
(我把你表格中的数据 "中文" 换成了 "英文" 数据和你的是一致的)
创新互联公司长期为上1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为烟台企业提供专业的成都网站设计、网站建设,烟台网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。
我创建你的表格的SQL语句:
create table cellphone
( id int(3) zerofill not null auto_increment primary key,
title char(20) not null,
number int not null,
type char(20) not null,
time date not null
);
插入数据的SQL语句:
insert into cellphone (title,number,type,time) values
("Phone Model 1",90,"cellphone","2012-08-14"),
("Phone Model 1",90,"cellphone","2012-08-14"),
("Phone Model 2",100,"cellphone","2012-08-14"),
("Mobile Accessory 1",100,"Accessory","2012-08-14");
查询语句:
select title, sum(number), time
from cellphone
where type = 'cellphone'
and time= date_format(now(),'%Y-%m-%d') //获取今天日期的函数
group by title;
创建后的表:
查询结果:
php 实现代码:
?php
/************************ MySQL连接 ************************/
$dbc = @ mysqli_connect('localhost', 'root', 'mysql', 'test');
if (mysqli_connect_errno()) {
echo "Error: Could not connect to database.Please try again later.";
exit;
}
/************************************************************/
/********************************** 执行查询 **********************************/
$query = "select title, sum(number), time
from cellphone
where type = 'cellphone'
and time= date_format(now(),'%Y-%m-%d')
group by title";
$results = mysqli_query($dbc, $query);
if ($results) {
echo mysqli_affected_rows($dbc)." rows get.br/";
} else {
echo "An error has occurred.";
}
/***********************************************************************************/
/********************************** 输出结果 **********************************/
while ( list($title, $num, $time) = mysqli_fetch_row($results) ) {
echo "$title $num $timebr/";
}
/******************************************************************************/
/********************************* 关闭和释放 *********************************/
mysqli_free_result($results);
mysqli_close($dbc);
/******************************************************************************/
?
运行结果:
两种方式 :
1、可以直接用SQL 里的函数 sum() ;
如:"select sum(字段) as num from tab "; //sum 取该字段所有列的总和
2、用PHP函数 sum($array) ; //取数组中值的总和
当然 字段必须是int型的
如果是计算MYSQL数据某字段的和值,可以使用SQL语句,示例如下:
Select Sum(total_score) as "ScrTotal" from 数据库名
用mysql的avg函数可以求平均值
select sum(rank_point) from comment group by comment_id;
select avg(rank_point) from comment group by comment_id;
如果非要用php只有用foreach一条一条的求和然后求平均值
$sum =0;
$num =0;
foreach($cmt as $v)
{
$sum +=$v['poiint'];
++$num;
}
if($num=1)
{
$avg = $sum/$num;
}
SELECT SUM(分数) FROM 表a WHERE 性别='男'
SELECT SUM(分数) FROM 表a WHERE 性别='女'
----测试
CREATE TABLE MASK_TEST(
ID INT,
姓名 varchar(20),
性别 varchar(20),
年龄 int,
分数 int
)
INSERT INTO MASK_TEST VALUES(11,'ZHANG SAN','男',20,88)
INSERT INTO MASK_TEST VALUES(11,'LIU SHAN','女',20,83)
INSERT INTO MASK_TEST VALUES(11,'WANG SAN','男',20,87)
INSERT INTO MASK_TEST VALUES(11,'ZHANG TING','女',20,83)
INSERT INTO MASK_TEST VALUES(11,'ZHAO YAN','女',20,88)
INSERT INTO MASK_TEST VALUES(11,'ZHOU HU','男',20,78)
INSERT INTO MASK_TEST VALUES(11,'WANG QIANG','男',20,98)
INSERT INTO MASK_TEST VALUES(11,'LI QIAN','女',21,68)
SELECT SUM(分数) FROM MASK_TEST WHERE 性别='男'
SELECT SUM(分数) FROM MASK_TEST WHERE 性别='女'
----结果:
(1 行受影响)
(1 行受影响)
(1 行受影响)
(1 行受影响)
(1 行受影响)
(1 行受影响)
(1 行受影响)
(1 行受影响)
-----------
351
(1 行受影响)
-----------
322
(1 行受影响)
这个可以使用sum函数去实现 返回来的就是这段时间内所有数字的总和
select sum('个数') from '表名' where '时间' between '时间一' and '时间二';