我正在为我的客户创建一张图表,他们想要得到24小时、3天、1周、1个月等一段时间内的总客户数。由于我并不是SQL方面的专家,因此生成这些查询语句不是我的强项。
关于在24小时内获取客户数量,我找到了两个可能有效的“where”语句,但我不确定哪一个是最好的。 第一个版本:
关于在24小时内获取客户数量,我找到了两个可能有效的“where”语句,但我不确定哪一个是最好的。 第一个版本:
WHERE DATEDIFF(hh,CreatedDate,GETDATE())>24
第二个版本:
WHERE CreatedDate >= DATEADD(HH, -24, GETDATE())
第一版生成了21行,第二版生成了17行(当然是从同一组数据集中生成),因此很明显其中一个比另一个更准确。我倾向于选择第一个版本,但我想知道你的意见......谢谢。
谢谢, 安德鲁
WHERE DATEDIFF(hh,CreatedDate,GETDATE())>24
需要改成WHERE DATEDIFF(hh,CreatedDate,GETDATE())<24
。 - Jeremy SmythWHERE DATEDIFF(hh,CreatedDate,GETDATE())<=24
修改为匹配第二个逻辑 :) - Jeremy Smyth