PHP操作mysql数据库按比例求和算法,求简单语句

数据结构是这样的:

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 语句进行分组求和,但是无法进行比例核算。
能想到最笨的办法就是循环进行计算,但是这样子太耗费资源了,速度太慢
不知道有没有更好的语句

阅读 2.8k
2 个回答

你不能写死的啊,要连表才能计算吧

select 用户id,sum(gprice) from (
select 用户id,项目,sum(A.price*B.比例) as gprice from A join b on a.项目 = b.项目 group by 用户id,项目 ) group 用户id

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题