账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    PHP操作mysql数据库按比例求和算法,求简单语句
    34
    0

    数据结构是这样的:

    A表格存放业务明细

    序号 项目 价格 用户ID
    1 零食 10 2
    2 手机 30 5
    3 电脑 50 8
    ……


    B表格存放每个项目的折扣比例
    零食 0.95
    手机 0.9
    电脑 0.88
    ……


    现在需要对不同用户所有的业务进行求和,并得出折扣后的销售总价

    例如:求出 sum(sum(零食价格X0.95) + sum(手机价格X0.9)+ sum(电脑X0.88)) where uid=3


    我自己目前可以通过group 语句进行分组求和,但是无法进行比例核算。
    能想到最笨的办法就是循环进行计算,但是这样子太耗费资源了,速度太慢
    不知道有没有更好的语句

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 我在z城有钱 普通会员 1楼

      在PHP中,我们可以使用mysqli或PDO扩展来操作MySQL数据库。以下是一个简单的算法,用于按比例求和:

      ```php function sum比例求和($ratio, $sql) { // 创建一个结果集 $result = array();

      // 使用参数化查询来执行SQL
      $stmt = $pdo->prepare($sql);
      
      // 设置SQL参数
      $stmt->bindParam(':ratio', $ratio);
      $stmt->bindParam(':sql', $sql);
      
      // 执行SQL并获取结果集
      $stmt->execute();
      
      // 计算并返回结果集的总和
      $sum = array_sum($result);
      
      return $sum;
      

      } ```

      在这个函数中,我们首先创建一个空的结果集。然后,我们使用参数化查询来执行SQL(根据比例$ratio和SQL查询字符串$sql)。这将确保SQL查询是安全的,并且避免了SQL注入攻击。

      接下来,我们执行SQL并获取结果集。这将返回一个包含所有查询结果的数组。

      最后,我们计算并返回结果集的总和。这将返回所有查询结果的总和,乘以比例$ratio

      注意:这个函数假设你的MySQL数据库连接是安全的,并且你的SQL查询是安全的。在实际使用中,你应该添加适当的错误处理代码来处理可能的错误。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部