- 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查询是安全的。在实际使用中,你应该添加适当的错误处理代码来处理可能的错误。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

