如何根据以下示例报告获取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
,这也应该算作一个服务。
<?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'];};?>
答案 0 :(得分:1)
编辑:
因此,在获得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。