PHP MYSQL中的SUM和循环(SUM and Looping in PHP MYSQL)

那么,我目前正在使用PHP中的SUM和Looping数组。

这是我的PHP代码:

require_once 'koneksi.php';

if(isset($_POST['id_gejala'])) {

$val = $_POST['id_gejala'];

for($i="0"; $i < sizeof($val); $i++) {

$seldata = mysqli_query($con, "SELECT a.`kode_evidence`, a.`kode_hipotesa`, a.`nilai_evidence`, b.`probabilitas`, SUM(a.`nilai_evidence`) AS `total_evidence` FROM `evidence` AS a INNER JOIN hipotesa AS b ON a.`kode_hipotesa` = b.`kode_hipotesa` WHERE `kode_evidence` ='".$val[$i]."' GROUP BY a.`kode_hipotesa` HAVING COUNT(*) >= 1 ") or die (mysqli_error($con));

while($data1=mysqli_fetch_assoc($seldata)){

$data[]=$data1;

}

}

}

$json = json_encode($data);

echo $json;

?>

我在echo $ json时成功生成了json响应,这里是我得到的响应:

[

{

"kode_evidence":"1",

"kode_hipotesa":"1",

"nilai_evidence":"0.9",

"probabilitas":"0.09",

"total_evidence":"0.8999999761581421"

},

{

"kode_evidence":"2",

"kode_hipotesa":"1",

"nilai_evidence":"0.4",

"probabilitas":"0.09",

"total_evidence":"0.4000000059604645"

}

]

在我的php代码中,sql变量中的GROUP BY和HAVING COUNT命令不起作用,我仍然得到2个响应,结果不会执行nilai_evidence的总和。

我需要从帖子中获得1个结果,并执行查询的SUM计算。

任何帮助将不胜感激,谢谢。

Well, I'm currently working on SUM and Looping array in php.

Here's my php code:

require_once 'koneksi.php';

if(isset($_POST['id_gejala'])) {

$val = $_POST['id_gejala'];

for($i="0"; $i < sizeof($val); $i++) {

$seldata = mysqli_query($con, "SELECT a.`kode_evidence`, a.`kode_hipotesa`, a.`nilai_evidence`, b.`probabilitas`, SUM(a.`nilai_evidence`) AS `total_evidence` FROM `evidence` AS a INNER JOIN hipotesa AS b ON a.`kode_hipotesa` = b.`kode_hipotesa` WHERE `kode_evidence` ='".$val[$i]."' GROUP BY a.`kode_hipotesa` HAVING COUNT(*) >= 1 ") or die (mysqli_error($con));

while($data1=mysqli_fetch_assoc($seldata)){

$data[]=$data1;

}

}

}

$json = json_encode($data);

echo $json;

?>

I've successfully generated the json response when I echo $json, here's the response I get:

[

{

"kode_evidence":"1",

"kode_hipotesa":"1",

"nilai_evidence":"0.9",

"probabilitas":"0.09",

"total_evidence":"0.8999999761581421"

},

{

"kode_evidence":"2",

"kode_hipotesa":"1",

"nilai_evidence":"0.4",

"probabilitas":"0.09",

"total_evidence":"0.4000000059604645"

}

]

In my php code, the GROUP BY and HAVING COUNT command in sql variable are not working, I still get 2 responses and the result won't do the sum of nilai_evidence.

I need to get only 1 result from post and the do the SUM calculation of the query.

Any help will be much appreciated, thank you.

原文:https://stackoverflow.com/questions/40553479

更新时间:2019-10-01 15:23

最满意答案

您只在集合中设置的列的一部分上使用聚合函数。

这可以检索这个列的无关值respctec ggregated函数的值

可能是因为你的查询这些列中的列的价格是相同的

当你可以使用(假)聚合函数来避免返回更多的那一行

"SELECT

min(a.`kode_evidence`)

, a.`kode_hipotesa`

, min(a.`nilai_evidence`)

, min(b.`probabilitas`)

, SUM(a.`nilai_evidence`) AS `total_evidence`

FROM `evidence` AS a

INNER JOIN hipotesa AS b ON a.`kode_hipotesa` = b.`kode_hipotesa`

WHERE `kode_evidence` ='".$val[$i]."'

GROUP BY a.`kode_hipotesa`

HAVING COUNT(*) >= 1 ") or die (mysqli_error($con));

You are using aggregation function only on a part of the column that you set in group by ..

this could retrive unrelated value for this column respctec the value for ggregated function

Could be that for your query the valeue of the column in these column is the same

when you could use (fake ) aggregation function for avoid the return of more that one row

"SELECT

min(a.`kode_evidence`)

, a.`kode_hipotesa`

, min(a.`nilai_evidence`)

, min(b.`probabilitas`)

, SUM(a.`nilai_evidence`) AS `total_evidence`

FROM `evidence` AS a

INNER JOIN hipotesa AS b ON a.`kode_hipotesa` = b.`kode_hipotesa`

WHERE `kode_evidence` ='".$val[$i]."'

GROUP BY a.`kode_hipotesa`

HAVING COUNT(*) >= 1 ") or die (mysqli_error($con));

2016-11-11

相关问答

sum(1)就是1这个数值,count(1)相当于第一列的名字,虽然统计行结果是一样的,从效率上还是推荐count。显然对于*和name知道主键列的直接指定会更好,不知道的话用星号也无妨。

您显示的代码不可能出现此问题,因此逻辑解释如下: $result = mysql_query($query = "SELECT realname FROM t_user");

if($result)

{

// Something fetched a row from $result before this statement is run

while($data=mysql_fetch_assoc($result)){

echo $data['realname'];

}

}

...

您只在集合中设置的列的一部分上使用聚合函数。 这可以检索这个列的无关值respctec ggregated函数的值 可能是因为你的查询这些列中的列的价格是相同的 当你可以使用(假)聚合函数来避免返回更多的那一行 "SELECT

min(a.`kode_evidence`)

, a.`kode_hipotesa`

, min(a.`nilai_evidence`)

, min(b.`probabilitas`)

...

只需添加初始化变量 $nilaimodul = 0; // try adding this to your code

for($i=1;$i<=$jml_modul;$i++)

{

echo "

".$array_nilai[$nim][$i]."";

$nilaimodul += (array_sum(array($array_nilai[$nim][$i])));

}

$ratarata = ($

...

只需将所有这些人放入数据库并检查如下: <?php

$admins = mysql_query("SELECT * FROM users WHERE id='". mysql_real_escape_string($_SESSION['id']) ."' and is_admin='y'");

?>

此时,如果至少有一行将返回(是的,它应该只返回一行),您可以继续使用专用内容。 just put all those people into the database and check

...

如果你的初学者使用php和mysql,那么下面是你的基础步骤.. 首先:为数据库用户,通过,主机设置配置 $conn = mysql_connect('database_server','database_username','database_password');

SECOND:执行数据库连接。 mysql_select_db($conn,'database name');

第三:创建一个查询(你可以在这里插入你的查询).. $sql= mysql_query("SELECT SUM(To

...

我很确定你在你的SQL中错过了一个组 。 也许改成它 SELECT tbl1.code, tbl1.name, tbl1.cost, tbl1.price, tbl1.vat, sum(tbl2.onhand) as onhand

FROM tbl1

INNER JOIN tbl2 ON tbl1.code=tbl2.code

WHERE (tbl2.name='AC' OR tbl2.name='WH') AND tbl1.code IN ($in)

GROUP BY tbl1.code,

...

我会建议一个更传统的方法: $result1 = mysql_query("SELECT * FROM posts") or die(mysql_error());

while ($row = mysql_fetch_assoc($result1)) {

...

}

另外,不要执行所有这些从属查询。 代替: $sql = <<

SELECT *, (SELECT COUNT(1) FROM pics WHERE postid = p.postid) pic_count

FROM

...

fetchAll返回数组中的所有行。 所有你需要的就是这个 $sql = "select statement";

$stmt = $db->prepare( $sql );

$stmt->execute();

$response = array();

$response["products"] = $stmt->fetchAll( PDO::FETCH_ASSOC );

$response["success"] = 1;

echo json_encode($response);

fetchAl

...

php mysql sum()_PHP MYSQL中的SUM和循环(SUM and Looping in PHP MYSQL)相关推荐

  1. laravel mysql注入_PHP 项目中单独使用 Laravel Eloquent 查询语句来避免 SQL 注入

    OWASP (Open Web Application Security Project) 是一个记录当前 web 应用所受威胁情况的项目.我一直都在关注他们的网站,从 2010,2013 和 201 ...

  2. MySQL查询数据表中数据记录(包括多表查询)

    MySQL查询数据表中数据记录(包括多表查询) 在MySQL中创建数据库的目的是为了使用其中的数据. 使用select查询语句可以从数据库中把数据查询出来. select语句的语法格式如下: sele ...

  3. mysql sum when then_MySQL中group by , sum , case when then 的使用

    在我们使用数据库的时候,可能会遇到需要进行统计的情况. 比如需要统计一下,下表中各个年份的胜负场数. 遇到这样的情况,我们应该怎么办呢? 在mysql中我们可以使用group by sum  case ...

  4. mysql中sum (if)_mysql 中sum (if())

    先来一个简单的sum select sum(qty) as total_qty from inventory_product group by product_id 这样就会统计出所有product的 ...

  5. mysql sum计算效率很慢_MySQL--RDS下的分区表实践(文末附MySQL视频教程与面试题)...

    实践背景 项目中有的表空间太大,且行数太多,故决定对一些表进行分库分表.再研究选型方案的时候发现常用的一些分库分表的解决方案对业务代码修改较多,故决定采用MySQL的分区方案. 其实在我个人看来,分区 ...

  6. mysql的sum函数 如何设置默认值_mysql使用sum()出现null的问题,各种总结

    今天进行sql查询时,碰到了一个问题: SQL语句: select r.user_id, r.job_id, sum(t.money) as job_salary from pj_punch_reco ...

  7. php用到的mysql语句_PHP中常用到的一些MySQL语句_php

    在php开发中,经常会使用到mysql语句,下面就为您列举了一些经常使用的MySQL语句,希望对您平时的学习和开发工作能起到些许的作用. MySQL语句显示数据库或表: show databases; ...

  8. php常用mysql语句_PHP中常用MySql操作语句

    PHP中常用的几个 mysql 语句 显示数据库或表: show databases;//然后可能use database_name; show tables; 更改表名: alter table t ...

  9. MySQL源代码的海洋中游弋 初探MySQL之SQL执行过程 [转]

    MySQL源代码的海洋中游弋 初探MySQL之SQL执行过程 五月 15, 2012 by admin · 14 Comments 导读: 2012年5月12日,MySQL技术群-北京技术圈的MySQ ...

最新文章

  1. 1:1 人脸比对 开源_Hacktoberfest:我的开源门户
  2. pytorch默认初始化_“最全PyTorch分布式教程”来了!
  3. 图解WebGLThree.js工作原理【转】
  4. C++中多态性学习(上)
  5. initWithNibName与viewDidLoad的执行关系以及顺序
  6. 【setup.py编译出错】——提示无法查找到powershell.exe
  7. python免费网络采集_python网络数据采集7 采集一个网站所有的外链
  8. 软件有效期如何实现_如何实现软件本地化:软件本地化流程的十条守则
  9. .sh文件怎么写_typeScript 配置文件该怎么写?
  10. 《算法之道》精华 难解问题部分
  11. 安卓逆向系列教程(三)静态分析工具
  12. 为什么我们使用volatile关键字? [重复]
  13. 一、安装mysql 单机版
  14. 线段树专辑—— pku 3468 A Simple Problem with Integers
  15. html状态码206,HTTP状态码206
  16. 北京市城八区廉租住房和经济适用住房保障家庭收入、住房、资产标准已确定
  17. 古体字与简体字对照表_简体字与繁体字对照表汇总
  18. LinuxDNS域名解析
  19. html关闭广告代码,JS实现可点击展开与关闭的左侧广告代码
  20. 001 计算思维-卡内基梅隆大学计算机系主任周以真(英汉对照版)

热门文章

  1. 大一下学期.学期总结
  2. 关于H5页面适配的问题
  3. Oracle 身份证号正则,oracle正则表达式(详细)
  4. 多人合作时代码提交 git 操作
  5. 「ZJOI2018」树
  6. Java 初学万年日历
  7. WF曲速未来消息:以自定义格式反转恶意软件|隐藏的蜜蜂元素
  8. 环境卫生学-练习题(有答案)
  9. Leetcode-76:最小覆盖子串(困难题) 滑动窗口法超详细解析
  10. Android手机软件开发 课程 教学 大纲