码迷,mamicode.com
首页 > 数据库 > 详细

SQL 取两日期的记录

时间:2015-11-04 17:51:50      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:

SELECT TOP 1000 [ID]
      ,[SourcePageID]
      ,[PlatformType]
      ,[CreateTime]
  FROM [home_sendorder].[dbo].[ApplyUser]
where [PlatformType]=2 and [CreateTime]>=‘2015-10-28‘ and [CreateTime]<=‘2015-11-1‘
注意这样写,只是从28号0点查到1号0点

----------------------------------------------------------------------------------------------

当条件为下时,跟datediff()查询的结果一样

where [PlatformType]=2 and [CreateTime]>=‘2015-10-28‘ and [CreateTime]<‘2015-11-2‘)

SELECT TOP 1000 [ID]
      ,[SourcePageID]
      ,[PlatformType]
      ,[CreateTime]
  FROM [home_sendorder].[dbo].[ApplyUser]
where [PlatformType]=2 and datediff(day,‘11/1/2015‘,[CreateTime])<=0 and datediff(day,‘10/28/2015‘,[CreateTime])>=0

------------------------------------------------------------------------------------------------------------------------------

select [SourcePageID],count(*) from [ApplyUser]
where [PlatformType]=2 and datediff(day,‘11/1/2015‘,[CreateTime])<=0 and datediff(day,‘10/28/2015‘,[CreateTime])>=0
group by [SourcePageID]
注意:以上写法是ApplyUser内有的信息为依据,查询出的结果。如图:当SourcePageID=5时候,ApplyUser表里面没有,所以不显示。

 技术分享

--------------------------------------------------------------------------------------------------

所以想查询到SourcePageID的全部数据,就要找到  有SourcePageID的全部数据  的表 作为基本表

select b.[SourcePageID], b.[SourcePageName],count(a.id) from [SourceUserPageConfig] b--基本表
 left  join [ApplyUser]a---或inner join
 on  (b.[PlatformType]=a.[PlatformType]  and b.[SourcePageID]=a.[SourcePageID])
where b.[PlatformType]=2
 and datediff(day,‘11/1/2015‘,a.[CreateTime])<=0
 and datediff(day,‘10/28/2015‘,a.[CreateTime])>=0
group by b.[SourcePageID], b.[SourcePageName]

order by  b.[SourcePageID] asc

 技术分享

还是没有5,感觉应该是不满足where条件,被删除

但是怎样才能把5这行数据显示出来,有5---0这一行。

请高手指点

SQL 取两日期的记录

标签:

原文地址:http://www.cnblogs.com/812931637Z/p/sql.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!