我们如何在 Firebird 中进行每周范围组?

How can we do weekly range group in Firebird?

我在使用 Firebird 中的某些脚本时遇到问题。我想把我的日期放在应该从星期六开始的星期类别中,但不幸的是最后一天无法放在正确的位置

SELECT
    dateadd(week, DATEDIFF(week, date '1-1-1900', cast(s.NNDate as date)),date '1-6-1900') AS Week_Clm,
    cast(s.NNDate as date), Menge
FROM
(
    SELECT cast(New_DATUM AS date) AS NNDate, sum(LGL_MENGE) AS Menge
    FROM View_LAGERLOG
    WHERE (  LGL_REFNUMMER = '0' OR
             LGL_REFNUMMER = '1' OR
             LGL_REFNUMMER = '2' OR
             LGL_REFNUMMER = '3' OR
             LGL_REFNUMMER = '4')
    GROUP BY cast(New_DATUM as date)
) s 

]1

看看 Firebird 中的提取功能。使用 Firebird 3.0 测试:

select
  extract (year from current_date) as dyear,
  extract (week from current_date) as dweek
from rdb$database

您可以将它们串联为一个字段,以便以后进行数据管理。