我必须创建一个查询,我必须找到上个月的最后一个工作日。我知道如何使用具有IsWorkingday
标志的日期维度来执行此操作,并从一个月前开始加入日期,并从那里找到max(dateid)。
在我这样做的时候,我想不应该有一个更优雅的解决方案,例如使用LAG()
和特定分区并按顺序排序。
我玩了一段时间却找不到解决办法。有什么想法吗?
答案 0 :(得分:1)
这不是LAG()的真正含义。它更适合计算运行总计等事情。如果您想要更好地理解,请在SQL Server中谷歌LAG()函数。
一个可能更优雅的解决方案是获得当月的第一个工作日,并选择它之前的第一个工作日。
在不知道您的表结构和数据的情况下,很难更具体。