sql语句:按日期范围计算

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql语句:按日期范围计算相关的知识,希望对你有一定的参考价值。

说我有一张桌子

license_num (varchar)--------checkout_datetime (datetime)

ABC-123 -------------------------------------------- 2017-12 -29 00:07:00

ABC-123 ------------------------------------------- 2017-12- 30 00:10:00

XYZ-456 ------------------------------------------- 2017-12- 30 00:10:00

XYZ-456 ------------------------------------------- 2017-12- 31 00:11:00

我需要一个产生以下结果的SQL语句:

LicenseNumber--------12/29---12/30---12/31---TotalOfWeek

ABC-123 ----------------------------------- 1 ----------- --1 ------------- 0 ------------------ 2

XYZ-456 ----------------------------------- 0 ----------- --- ------------ 1 1 ------------------ 2

我该如何编写这样的SQL语句?

感谢帮助!

答案

试试这个.. :)我说得对...

   SELECT *,CONVERT(Varchar(10),
  (DATEPART(MM,checkout_datetime)))+'/'+CONVERT(Varchar(10),
  (DATEPART(DD,checkout_datetime)))  AS NewColName,1 AS Count
  INTO #TempPivotTab2
  FROM TransTable

  SELECT *
  FROM
   (
   SELECT license_num,NewColName,Count
   FROM   #TempPivotTab2 
   ) AS SourceTable
   PIVOT
   (
   SUM(Count)
   FOR NewColName IN ([12/29],[12/30],[12/31])
   )Piv

以上是关于sql语句:按日期范围计算的主要内容,如果未能解决你的问题,请参考以下文章

SQL语句:取某个日期所在季度的最后一天,精确到时分秒

选择日期范围,根据关闭条件计算范围内的多条记录,按班次分组

sql 计算一个月几天

SQL 如何查询日期在一定范围内的数据

sql server 日期范围查询

SQL - 显示给定范围内的所有日期,并使用数据库中的时间戳计算该日期有多少帖子