如何根据下面的示例报告获取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'];};?>
最佳答案
编辑:
因此,在获取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
中。该值随每个查询(一个数字)的输出而增加。最后,您将echo
您的serviceTypes之和。修改您的array
名称以使其起作用。我只是使用了名称$ array为例。