1
我有一個列名稱和數量的表,我想查詢數據總和(金額)upto讓我們說1000每個組,在行值大於1000的情況下,它仍然可以顯示在它自己的組中。我已經嘗試過使用500到1000之間範圍的PHP循環,但這種方式產生了很多組,我希望可以作廢。有什麼辦法可以在單個mysql查詢中做到這一點。問候mysql將總和(列)組合到最大值,但總和必須低於給定值
這是我歪曲我的方式!
//this query helped me in maneuvering in provision of limits each time
$totalLines=mysql_query("select COUNT(*) as totalRows from chasis where chasis.BL_No =xxxx order by chasis.BL_No ")or die(mysql_error());
$fetch_totalLines=mysql_fetch_array($totalLines);
$found_rows=$fetch_totalLines['totalRows'];
$total=0;
$Toplimit=0;
$z=0;
a:
if($Toplimit>0){
$Toplimit=$Toplimit;
//$found_rows=$found_rows-$Toplimit;
$total=0;
}
$query=mysql_query("select * from chasis where chasis.BL_No =xxxx order by chasis.duty_amount limit ".$Toplimit.",".$found_rows." ")or die(mysql_error());
$i=1;
while($row=mysql_fetch_array($query)){
$total=round($row['duty_amount'],0)+$total;
echo'<tr>
<td>'.$i.'</td>
<td>'.$row['BL_No'].'</td>
<td>'. mb_substr($row["make"], 0, 1,"UTF8")."-";
echo $row["model"];
echo'</td>
<td>'.$row['chasisNo'].'</td>
<td>'.$row['cc'].'</td>
<td>'.date("Y F", strtotime($row['year'])).'</td>
<td>'.$row['EntryNumber'].'</td>
<td>'.round($row['duty_amount'],0).'</td>
<td> </td>
</tr>';
if($total<=1000 and $total>=500){
echo"<td colspan='8' align='right'><b>Duty Cheque for ".$i." units</b></td>
<td><b>".$total."</b></td>
";
$Toplimit=$Toplimit+$i;
$z=$z+$i;
goto a;
}
$i++;
}
我決定表明,我沒有5月,以反映goto語句的使用情況,以保持列ID 我知道這是來處理這一個貧窮的方式,但我真的很卡住了一切。
Shaymol,其實我想的是分組到其總和duty_amount不超過1000,但關閉ED它團體和500只是我如何努力首先要處理它 –
請問您可以發佈一些您想要的示例數據和輸出。 –
抱歉的延遲,但圖像在這裏http://i.stack.imgur.com/B9N7Q.png –