我有一张描述餐馆仓库的桌子。在这个表格中,我有字段ID自动增量,WID,数量,unit_price,维度,名称。 ID是唯一的,但让我展示一个PHP脚本,它描述了我在插入时正在做什么
if(isset($_POST['refill_date'])){
$id = intval($_POST['item_id']);
$wid = intval($_POST['item_wid']);
$name = $_POST['name'];
$qty = floatval($_POST['quantity']);
$dimen = $_POST['dimension'];
$tp = floatval($_POST['total_price']);
$up = floatval($_POST['unit_price']);
$dist_id = intval($_POST['dist_id']);
$waybill = $_POST['waybill'];
$refill_date = $_POST['refill_date'];
if(!empty($wid) && !empty($id)){
$insert = $MySQL->query("INSERT INTO warehouse (wid,name,quantity,dimension,unit_price,refill_date,distributor_id,waybill) VALUES ($wid,'$name',$qty,'$dimen',$up,'$refill_date',$dist_id,'$waybill')");
$update = true;
}else{
$insert = $MySQL->query("INSERT INTO warehouse (name,quantity,dimension,unit_price,refill_date,distributor_id,waybill,date) VALUES ('$name',$qty,'$dimen',$up,'$refill_date',$dist_id,'$waybill',now())");
$wid = mysql_insert_id();
$update = $MySQL->query("UPDATE warehouse SET wid = $wid WHERE id = $wid");
}
if($insert === true && $update === true)
echo "success";
else
echo "failure";
exit;
}
所以你可以看到,如果产品不存在,它会创建一个新的ID并为WID分配新的ID,并且将来当添加相同的产品时,WID将是相同的,但ID将会增加。 现在我的任务是输出不同的数据,但应该总结数量,并且应该计算单位价格的算术平均值。我有13条WID 65的记录,所有这些都有不同的单价,所以所有的单位价格应该相加并除以13.所有这些将输出像一条记录。有可能吗?
答案 0 :(得分:1)
$MySQL->query("SELECT DISTINCT id,wid,name,SUM(`quantity`) `QTY`,dimension,AVG(`unit_price`) `AVG`,refill_date,date,edit_date,distributor_id,waybill FROM warehouse GROUP BY wid LIMIT 20 OFFSET $offset");
这对我有用,并给出了我想要的所有结果。