奖励系统的数据库中有以下表格:

purchases => Purchase_IDDatetimeReward_IDQuantityStudent_IDStudent_NameDate_DealtWithDate_Collected

rewards => Reward_IDTitleDescriptionImage_URLDate_InactiveStock_CountCost_to_UserCost_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/

10-13 00:53