基本上,Fromdate是每个星期天,ToDate是每个星期六,我需要通过一个存储过程编程地创建PERIOD列,其中句点是月份,周是那个月的一周,
--but there shouldnt be 5 weeks in a period.
FromDate ToDate PERIOD
2015-11-29 2015-12-05 P12-WK1 <-- see how it goes to the next period
2015-11-22 2015-11-28 P11-WK4
2015-11-15 2015-11-21 P11-WK3
2015-11-08
企业需要一些单一的价值维度:
DIM_BuildDate - store datetime of the DW build, with latest inventory date
DIM_CurrentAccountingPeriod - what is the accounting period now (at build date)
DIM_CurrentExchangeRate - what is the currency exchange rate now
也许它们都可以滚动到一个单一维度中,每个值都有属性,但这不是我关心的问题。
这似乎不对。这些值每天或周期性地变化,使它们在最好的情
我在我的spec_helper里有这个:
config.use_transactional_fixtures = false
config.before(:suite) do
DatabaseCleaner.clean_with(:truncation)
end
config.before(:each) do
DatabaseCleaner.strategy = :truncation
FactoryGirl.reload
end
config.before(:each) do
DatabaseCleaner.start
end
config.after(:each)
实际的问题涉及到更多的数据和联接,但是我创建了一个小示例来演示这个问题:
-- create example table
DROP TABLE dbo.EventRecords
GO
CREATE TABLE dbo.EventRecords
(
EventDate datetime NOT NULL,
EventCount int NOT NULL
) ON [PRIMARY]
GO
ALTER TABLE dbo.EventRecords ADD CONSTRAINT
PK_EventRecords PRIMARY KEY CLUSTERED
我有以下问题:
set language 'english'
DECLARE @MyDate DATETIME
SET @MyDate = dateadd(dd,-1,dateadd(mm,datediff(mm,0,getdate()),0))
SELECT ReportEndDate = DATEADD(dd, CASE
WHEN DATENAME(weekday,@MyDate) = 'Saturday' THEN 5
WHEN DATENAME(weekday,@MyDate) IN ('Monday
我想数数在过去7天的唯一用户的数量过去7天。我想要构建一个表,其中有一列日期(当前日期到过去的7天),相应的值是进入过去7天的唯一用户的数量。我有一个日历表,它有每天的日期。
现有数据示例:
insert_date | user
1-1-22 | A
1-1-22 | B
1-1-22 | C
1-3-22 | D
1-3-22 | A
1-5-22 | B
1-9-22 | C
1-11-22 | D
1-11-22 | F
期望产出:
date |
我编写了一个sql查询,以获取在特定月份发生的所有记录。
select month(loggingdate),Count(id) from communicationlogs
where clientid=20154 and month(loggingdate) in (1,2,3,4,5,6,7,8,9)
group by month(loggingdate)
7 65
8 5
这里的记录是在第七个月和第八个月。我想得到其他月份的0值,比如-
1 0
2 0
3 0
4 0
...
我有以下查询:
root@localhost [hatsize]> SELECT COUNT(*) AS C,EventID,Start,End,sysname FROM complete_ev WHERE type = 's' AND EventID = 6881;
+----+---------+---------------------+---------------------+---------+
| C | EventID | Start | End | sysname |
+----+-----
我想要一个月的第一个工作日。我生成一个假日表,并将它与正常的工作日支票结合使用,以找到一个月的第一个营业日。好像很管用。但是,当我使用第一个月作为输入时,例如(2020, 1),函数超时。这是为每年这样,每隔一个月工作。
CREATE FUNCTION FirstBusinessDay(@year INT, @month INT) RETURNS DATETIME
AS BEGIN
DECLARE @calendar TABLE (Name varchar(80), Date DATETIME)
INSERT INTO @calendar SELECT * FROM dbo.H