【发布时间】:2014-08-27 15:54:51
【问题描述】:
我有一个带有日期戳和 ID 号的数据集,如图所示:
Date_Stamp | ID
2013-07-17 | ID1
2013-07-17 | ID1
2013-08-19 | ID1
2013-08-19 | ID2
根据这些数据,我需要填充一个包含以下字段的表:日期、ID、First_attempt、Second_Attempt、Third_Attempt、Total_Attempts。
使用该数据,文件将如下所示:
Date | ID | First_attempt | Second_Attempt | Third_Attempt | Total_Attempts
2013-07-17 | ID1 | 1 | 1 | 0 | 2
2013-08-19 | ID1 | 0 | 0 | 1 | 1
2013-08-19 | ID2 | 1 | 0 | 0 | 1
我已经能够使用此代码进行第一次尝试:
Select min(date_stamp) as date_stamp,
ID,
1 as First_attempt,
0 as Second_Attempt,
0 as Third_Attempt,
0 as Total_Attempts
from Table
group by ID
以及使用此代码的总尝试次数(每天):
Select date_stamp as date_stamp,
ID,
0 as First_attempt,
0 as Second_Attempt,
0 as Third_Attempt,
count(ID) as Total_Attempts
from Table
group by date_stamp, ID
有人可以帮忙编写第二次和第三次尝试的脚本吗?
【问题讨论】:
-
这些尝试是在您的表中还是您只是硬编码值?
-
我正在尝试根据日期和 ID 出现的次数得出尝试。 ID 是一个电话号码,我正在尝试确定拨打同一个号码的次数。
-
你需要三列位类型(真/假)还是你可以只用一列类型 int 替换并增加总尝试次数?
-
很遗憾,上述列是必需的
标签: sql sql-server count counter