更新了问题:
我有以下两种表格: 表格1: 标题| weekend_date |
表2: 标题| dateid | numerical_column
在'title'列上使用内连接我想在数字列中提取一个值的总和,其中包含在表1的weekend_dt之前7天的行。我可以加入查询但是仍然计算总和。
这是我的疑问:
select *
from table1
inner join table2
on table1.title=table2.title
where table2.date BETWEEN table1.wknd_dt - '7' and table1.wknd_dt
它产生以下输出:
title | dateid| numerical_column
title1| dateid| value1
title1| dateid| value2
title1| dateid| value3
title2| dateid| value4
title2| dateid| value5
所以目前,由于内部联接,我在标题上获得了很多匹配,因此有多个记录被拉出
我想要的是:
title | dateid|numerical_column
title1| dateid|SUM(value1+value2+value3)
title2| dateid| SUM(value4+value5)
我该怎么做?
答案 0 :(得分:2)
使用SUM()和GROUP BY
SELECT t1.title,
t1.dateid,
SUM(t2.numerical_column)
FROM table1 t1
INNER JOIN table2 t2
ON t1.title = t2.title
WHERE t2.date BETWEEN t1.wknd_dt - 7 AND t1.wknd_dt
GROUP BY t1.title,
t1.dateid