我一直在寻找这个,但没有雪茄.烟雾开始从我的耳朵里冒出来.请帮忙
如何将两个表中的两列相加并按用户ID分组?
有两张桌子.
Recipe Table
recipeid userid recipe_num_views
Meals Table
mealsid userid meal_num_views
Run Code Online (Sandbox Code Playgroud)
目标是按用户标识对表和组中的num视图求和
so for example
Recipe Table
1 3 4
2 4 6
Meal Table
1 3 2
2 4 5
select sum(recipe views)+sum(meal views)
WHERE recipe.userid=meals.userid GROUP BY userid
Run Code Online (Sandbox Code Playgroud)
应该给
userid=3 , sum=6
userid=4, sum=11
Run Code Online (Sandbox Code Playgroud)
这给了一个更大的数字.
man*_*nji 13
SELECT recipe.userid, sum(recipe_num_views+meal_num_views)
FROM Recipe JOIN Meals ON recipe.userid=meals.userid
GROUP BY recipe.userid
Run Code Online (Sandbox Code Playgroud)
好的,从您的评论中,我了解到当您有用户3:4食谱和3餐时,您将得到所有这些行的组合总和=>sum(recipes)*3 + sum(meals)*4
请尝试此查询:
select r.userid, (sum_recipe + sum_meal) sum_all
FROM
(select userid, sum(recipe_num_views) sum_recipe
FROM Recipe
GROUP BY userid) r
JOIN (
select userid, sum(meal_num_views) sum_meal
FROM Meals
GROUP BY userid) m ON r.userid = m.userid
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
51007 次 |
| 最近记录: |