我遇到了一些SQL问题。
我的表是:
家族 --id
与部落关联的用户
- 编号
- clan_id
与用户关联的clan_values
- 编号
- USER_ID
- 值
- 型
我需要从clan_values获得每个氏族不同的值。 一个值是sum(clan_values.values),其中type等于3作为totaltime,另一个值是sum(clan_values.values),其中type等于1作为totalmass。我不知道该怎么做。因此,结果集将具有氏族总和质量和总计时间的完整表格。这可能吗?
答案 0 :(得分:0)
你可以使用这样的条件聚合:
SELECT u.clan_id,
sum(case when cv.type = 3 then cv.value else 0 end) as totalTime,
sum(case when cv.type = 1 then cv.value else 0 end) as totalMass
FROM users u
INNER JOIN clan_values cv
ON(u.id = cv.user_id)
GROUP BY u.clan_id