奖励系统的数据库中有以下表格:purchases
=> Purchase_ID
,Datetime
,Reward_ID
,Quantity
,Student_ID
,Student_Name
,Date_DealtWith
,Date_Collected
rewards
=> Reward_ID
,Title
,Description
,Image_URL
,Date_Inactive
,Stock_Count
,Cost_to_User
,Cost_to_System
我想做的是产生总计购买的奖励。因此,例如,如果以5点的价格购买了10个奖励,则我希望显示50个奖励。学生的费用是Cost_to_User
字段。
我以前尝试使用此代码:
SELECT SUM( `purchases`.`Quantity` ) * `rewards`.`Cost_to_User` AS `Total_Points_Spent`
FROM `purchases`
INNER JOIN `rewards` ON `purchases`.`Reward_ID` = `rewards`.`Reward_ID`"
但这似乎是假定每个奖励都可以得到100分-恰巧
rewards
表中的第一个奖励具有100分的Cost_to_User
。 最佳答案
只需将第二个括号移到Cost_to_user之后:
select sum(purchases.Quantity * rewards.Cost_to_User) as Total_points_spent
您正在查找总数而不是按行计算
关于mysql - 在单独的表中计算购买和价格的总费用总额,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9687687/