php - MySQL算术平均查询

标签 php mysql

我有一张描述餐厅仓库的表格。在此表中,我有字段 ID 自动增量、WID、数量、单位价格、维度、名称。 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,将来添加相同产品时,WID 将相同,但 ID 会增加。 现在我的任务是输出不同的数据,但数量要加起来,单价要计算算术平均值。我有 13 条 WID 为 65 的记录,所有这些都有不同的单价,因此所有单价应相加并除以 13。所有这些都会像一条记录一样输出。可以吗?

最佳答案

$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");

这对我有用,并给出了我想要的所有结果。

关于php - MySQL算术平均查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34379456/

相关文章:

java - 下拉列表空指针 JSP 到 Servlet

mysql - 调整数据库结构以支持过滤对话和删除对话

PHP 安全图像上传 - 附加代码?

mysql - 使用MySQL建表时出现ERROR 1064

php - 如何使用 PHP/MySQL 建立主题标签之间的关系?

php - 从具有动态表头的文件导入 csv

mysql - 将用户表加入内容表的正确方法?

PHP 自动将价格转换为 99 而不是 100

PHP 自定义排序 : Manual sorting an array based on specified keys

php - 如果错误,则使用不同的参数开始循环?