每年不同等候名单上的客户数量

时间:2018-03-20 10:40:34

标签: sql sql-server group-by count

我有一张包含不同等待名单的表格,客户可以在其中注册等待。 开始日期是等待开始的日期。如果没有结束日期,客户端仍在等待。

我希望概述(在Waitinglists表中的所有常见开始和结束日期)每个等待列表的等待客户端数量,一年内每月。我也希望看到与上个月的不同。

示例表是:

create table Waitinglists(
    Id int primary key,
    ClientId int,
    Begindate  date,
    Enddate   date NULL DEFAULT NULL,
    List  varchar(255)
);

GO

INSERT INTO Waitinglists ( Id,ClientId, begindate, Enddate, List) Values 
(1,'201000020','2017-2-24','2017-3-6','ListMO'),
(2,'201000035','2017-11-7',NULL,'ListZW'),
(3,'201000066','2017-3-18','2017-11-3','ListWL'),
(4,'201000066','2017-7-24','2017-8-5','ListMO'),
(5,'201000067','2017-7-24','2017-8-5','ListMO'),
(6,'201000067','2017-12-18','2017-12-22','ListMO'),
(7,'201000068','2017-12-18','2017-12-22','ListMO'),
(8,'201000120','2017-9-2','2017-9-30','ListWL'),
(9,'201000120','2017-12-4','2017-12-7','ListMO'),
(10,'201000147','2017-3-16','2017-3-23','ListMO'),
(11,'201000176','2017-5-29','2017-6-1','ListMO'),
(12,'201000234','2017-11-7','2017-12-8','ListWL'),
(13,'201000234','2017-12-9',NULL ,'ListWL'),
(14,'201000020','2017-2-24',NULL,'ListMO');

我想到以下输出,但欢迎好主意。 : - )

Y-M List    Count   Increased
2017-1  ListMO  0   0
2017-1  ListZW  0   0
2017-1  ListWL  0   0
2017-2  ListMO  2   2
2017-2  ListZW  0   0
2017-2  ListWL  0   0
2017-3  ListMO  3   1
2017-3  ListZW  0   0
2017-3  ListWL  1   1
2017-4  ListMO  1   -2
2017-4  ListZW  0   0
2017-4  ListWL  1   0
2017-5  ListMO  2   1
2017-5  ListZW  0   0
2017-5  ListWL  1   0
2017-6  ListMO  2   0
2017-6  ListZW  0   0
2017-6  ListWL  1   0
2017-7  ListMO  3   1
2017-7  ListZW  0   0
2017-7  ListWL  1   0
2017-8  ListMO  3   0
2017-8  ListZW  0   0
2017-8  ListWL  1   0
2017-9  ListMO  1   -2
2017-10 ListMO  1   0
2017-11 ListMO  1   0
2017-12 ListMO  4   3
2017-9  ListWL  2   1
2017-10 ListWL  1   -1
2017-11 ListWL  1   0
2017-12 ListWL  2   1
2017-9  ListZW  0   0
2017-10 ListZW  0   0
2017-11 ListZW  1   1
2017-12 ListZW  1   0

1 个答案:

答案 0 :(得分:2)

coord_matrix_x<-as.numeric(as.matrix(coord[1]))
coord_matrix_y<-as.numeric(as.matrix(coord[2]))
coord2 <- cbind(coord_matrix_x, coord_matrix_y)
coord2<-as.data.frame(coord2)
coordinates(coord2)<-c("coord_matrix_x","coord_matrix_y")

请参阅fiddle