您好,欢迎访问一九零五行业门户网

统计某个连续时间段内的用户具体数据的sql语句该如何写?

数据库中的测试数据如下所示,
想要统计某个时间段内的用户来与没来的情况,最终展示结果如下所示:
sql测试语句:
create table test (
id int(11) not null auto_increment,
come_date date not null comment '日期',
username varchar(255) not null,
primary key (id),
key username (username)
) engine=myisam auto_increment=25 default charset=utf8
insert into test values (1, '2015-7-1', 'test_1');
insert into test values (2, '2015-7-1', 'test_2');
insert into test values (3, '2015-7-1', 'test_3');
insert into test values (4, '2015-7-2', 'test_1');
insert into test values (5, '2015-7-2', 'test_2');
insert into test values (6, '2015-7-2', 'test_3');
insert into test values (7, '2015-7-5', 'test_1');
insert into test values (8, '2015-7-5', 'test_2');
insert into test values (9, '2015-7-5', 'test_3');
insert into test values (10, '2015-7-5', 'test_4');
insert into test values (11, '2015-7-7', 'test_2');
insert into test values (12, '2015-7-7', 'test_3');
insert into test values (13, '2015-7-7', 'test_6');
insert into test values (14, '2015-7-7', 'test_7');
insert into test values (15, '2015-7-7', 'test_8');
insert into test values (16, '2015-7-7', 'test_9');
insert into test values (17, '2015-7-7', 'test_10');
insert into test values (18, '2015-7-7', 'test_11');
insert into test values (19, '2015-7-8', 'test_2');
insert into test values (20, '2015-7-8', 'test_3');
insert into test values (21, '2015-7-8', 'test_10');
insert into test values (22, '2015-7-8', 'test_11');
insert into test values (23, '2015-7-9', 'test_1');
insert into test values (24, '2015-7-9', 'test_10');
回复内容: 数据库中的测试数据如下所示,
想要统计某个时间段内的用户来与没来的情况,最终展示结果如下所示:
sql测试语句:
create table test (
id int(11) not null auto_increment,
come_date date not null comment '日期',
username varchar(255) not null,
primary key (id),
key username (username)
) engine=myisam auto_increment=25 default charset=utf8
insert into test values (1, '2015-7-1', 'test_1');
insert into test values (2, '2015-7-1', 'test_2');
insert into test values (3, '2015-7-1', 'test_3');
insert into test values (4, '2015-7-2', 'test_1');
insert into test values (5, '2015-7-2', 'test_2');
insert into test values (6, '2015-7-2', 'test_3');
insert into test values (7, '2015-7-5', 'test_1');
insert into test values (8, '2015-7-5', 'test_2');
insert into test values (9, '2015-7-5', 'test_3');
insert into test values (10, '2015-7-5', 'test_4');
insert into test values (11, '2015-7-7', 'test_2');
insert into test values (12, '2015-7-7', 'test_3');
insert into test values (13, '2015-7-7', 'test_6');
insert into test values (14, '2015-7-7', 'test_7');
insert into test values (15, '2015-7-7', 'test_8');
insert into test values (16, '2015-7-7', 'test_9');
insert into test values (17, '2015-7-7', 'test_10');
insert into test values (18, '2015-7-7', 'test_11');
insert into test values (19, '2015-7-8', 'test_2');
insert into test values (20, '2015-7-8', 'test_3');
insert into test values (21, '2015-7-8', 'test_10');
insert into test values (22, '2015-7-8', 'test_11');
insert into test values (23, '2015-7-9', 'test_1');
insert into test values (24, '2015-7-9', 'test_10');
这里面有里想要的答案:
http://blog.itpub.net/29254281/viewspace-1385638
这个是必须要以数据库表的形式展现吗?如果没必要的话 可以select * from from test where come_date between '2015-07-01' and '2015-07-09' 对数据取出后 用后台语言处理 比较好做
如果必须要以sql查出所需结果,select aa.username,group_concat(day(come_date)),sum(1) from (select come_date,username from test where come_date between '2015-07-01' and '2015-07-09') aa group by aa.username;
其它类似信息

推荐信息