我想計算相同的字段兩次,因爲當前設置輸入工作代碼爲'10','11','12','13','40','400', '80'作爲完成的工作,但是其他工作代碼喜歡55,56,57意味着工作沒有完成。計算相同的字段兩次
以下我設法計算了work_code表並顯示了成功完成的工作量,但是我在如何計算未完成的作業(即55,56等)的同一張表上掙扎,也。
下面是我的代碼.....
<?php
require 'db.php';
$sqltran = mysqli_query($con, "SELECT *, ROUND(SUM(Sales),0), ROUND(AVG(Sales),2), COUNT(Work_Code) FROM results_tbl_1 WHERE RECORD_ID BETWEEN 468100 AND 500000 AND Work_Code IN ('10', '11', '12', '13', '40', '400', '80') GROUP BY ENG_ID ORDER BY ROUND(SUM(Sales),0) DESC ") or die(mysqli_error($con));
$arrVal = array();
$i=1;
while ($rowList = mysqli_fetch_array($sqltran)) {
$name = array(
'num' => '<img alt="" height="16" src="./top10.png" width="16">' . $i,
'eng'=> $rowList['ENG_ID'],
'totalvisits'=> $rowList['COUNT(Work_Code)'],
'ajv'=> '£' . $rowList['ROUND(AVG(Sales),2)'],
'sales'=> '£' . $rowList['ROUND(SUM(Sales),0)'],
);
array_push($arrVal, $name);
$i++;
}
echo json_encode($arrVal);
mysqli_close($con);
然後將數據與下面的配置自舉表顯示..
<script type="text/javascript">
var $table = $('#table');
$table.bootstrapTable({
url: 'test/board.php',
search: false,
pagination: true,
buttonsClass: 'primary',
showFooter: false,
minimumCountColumns: 2,
columns: [{
field: 'num',
title: 'Rank',
sortable: false,
},{
field: 'eng',
title: 'Engineer',
sortable: false,
},{
field: 'totalvisits',
title: 'Total Jobs',
sortable: false,
},{
field: 'ajv',
title: 'AJV',
sortable: false,
},{
field: 'sales',
title: 'Total',
sortable: false,
}, ],
});
我的問題是如何我可以計算工作代碼55,56等,並在桌上顯示計數?
謝謝:)
爲什麼不運行帶有工作代碼ID(如55,56,57)的第二個查詢? – Andy
要顯示標記爲未完成的用戶數 – Jamie
我仍然沒有看到問題。你運行第一個查詢(用10,11,12),並從結果中獲得COUNT。然後你運行第二個查詢(55,56等),並從第二個結果中獲得COUNT。那有什麼問題?唯一改變的是ID處於'IN'狀態 - 顯然會影響計數/結果。但那就是你想要的。 – Andy