php - 获取 php 中表中数据的总出现次数

标签 php mysql

如何根据下面的示例报告获取 serviceType 列的总数。我需要知道可以给我结果的查询。根据报告,我预计会得到 8 分。但我只得到 2 分。

我所做的是首先获取不同的 fltno,然后计算特定 fltno 的总 id,最后将其求和。但是,我仍然没有得到结果。请有人帮助我解决我最能使用的查询。 根据以下报告,

AFMG 001 has 2A'S = 1 service, AFMG 002 has 2A's = 1 service,AFMG 003 has 3B'S = 1 service, AFMG 004 has 2B's  = 1 service, AFMG 005 has 2A'S = 1 service,AFMG 006 has 2A'S = 1 service, AFMG 009 has  2A'S = 1 service,AFMG  010 has 2A'S = 1 service

因此总服务 = 8

如何使用 PHP 通过查询获取此信息。请注意,一个 fltno 可能具有不止一种服务类型,例如 AFMG 001 仍然可以具有 3B'S,并且也应计为 1 项服务。

<?php 
    //get distinct fltno
$d4 = mysqli_fetch_array(mysqli_query($link,"SELECT DISTINCT(fltno)AS flt FROM tab_mrptrans WHERE loc='".$rw['loc']."'"));
$sc=0;
//get no of nextSvr for particular fltno
$q1 = mysqli_query($link,"SELECT count(id)AS ids FROM tab_name WHERE loc='".$rw['loc']."' AND fltno='$d4['flt']");
while($d3 = mysqli_fetch_array($q1)){
$sc+=$d3['ids'];};?>

enter image description here

最佳答案

编辑:

因此,在获得 fltno 数组后,您需要对其进行循环

$counter=0;
foreach($array as $row) {
    $d4 = mysqli_fetch_assoc(mysqli_query($link, " SELECT count(DISTINCT serviceType) AS count FROM my_table WHERE fltno='{$row['fltno']}'"));
      $counter=$counter+$d4['count'];
}

echo $counter;

我们之前测试的查询返回 1 fltno 的不同数字,该数字将存储在变量 $counter 中。该值随着每个查询的输出(这是一个数字)而增加。最后将回显您的服务类型总和。修改您的 array 名称以使其正常工作。例如,我刚刚使用了名称 $array。

关于php - 获取 php 中表中数据的总出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47554358/

相关文章:

PHP/MySQL - 创建唯一随机字符串的最佳方式?

mysql - 在 MySQL 中将带有坐标的字符串分解为纬度/经度

MySQL:如何在执行 3 向左连接时使用 COUNT?

php - 为什么这个 PHP 函数会返回错误的结果?

Javascript insideHTML 与其他页面的 session PHP

php - 使用 DataTable - 未捕获的 ReferenceError : table is not defined

php - 时间戳和表单输入日期/时间

php - Symfony2 - 为自定义表单类型创建模板

php - Json输出变化

Mysql查询,选择最后一个订单