SQL嵌套查询逻辑验证:基于lookupday表取周起始日的思路是否正确
你的理解完全正确,这段SQL的逻辑和你描述的完全一致,我们可以逐段对应验证:
- 内层子查询
t2:从lookupday表筛选dateoftransaction等于指定入参date的行,将该行的lookupweekid值减1后输出,t2 (lookupweekid)就是把这个计算后的值的字段命名为lookupweekid,和你说的逻辑完全吻合。 - 关联与最终输出逻辑:用
t2得到的周ID(也就是输入日期所属周的上一周ID),和别名t1的lookupday表关联,匹配条件为t1.lookupweekid = t2.lookupweekid,同时筛选t1中weekdaynumber = 1的行,最终返回的dateoftransaction字段就是上一周的周首日期,作为临时表t3的start_of_week字段。
这段逻辑实际是周维度统计的常用写法,作用是输入任意一个日期,快速返回该日期对应上一周的周首日。
内容的提问来源于stack exchange,提问作者mert
相关产品推荐
相关产品推荐

