MySQL连续数统计

原创 2015年07月06日 16:57:01
CREATE TABLE [dbo].Jqfk NOT NULL,
[yhh] char NULL,CREATE TABLE [dbo].Jqfk NOT NULL,
[yhh] char NULL,
[cbrq] nvarchar NULL,
[ysl] [int] NULL,
)
[cbrq] [nvarchar](19) NULL,
[ysl] [int] NULL,
)
INSERT INTO jqfk VALUES ('B173022031201','2015-01-08 10:12:30',0);
INSERT INTO jqfk VALUES ('B211001024011','2015-01-08 10:46:13',13);
INSERT INTO jqfk VALUES ('B211001024012','2015-01-08 10:46:13',0);
INSERT INTO jqfk VALUES ('B211001024013','2015-01-08 10:46:13',3);
INSERT INTO jqfk VALUES ('B211001024014','2015-01-08 10:46:13',0);
INSERT INTO jqfk VALUES ('B173022031201','2015-02-08 10:46:13',0);
INSERT INTO jqfk VALUES ('B211001024011','2015-02-08 10:46:13',0);
INSERT INTO jqfk VALUES ('B211001024012','2015-02-08 10:46:13',13);
INSERT INTO jqfk VALUES ('B211001024013','2015-02-08 10:46:13',11);
INSERT INTO jqfk VALUES ('B211001024014','2015-02-08 10:46:13',0);
INSERT INTO jqfk VALUES ('B173022031201','2015-03-08 10:46:13',0);
INSERT INTO jqfk VALUES ('B211001024011','2015-03-08 10:46:13',0);
INSERT INTO jqfk VALUES ('B211001024012','2015-03-08 10:46:13',0);
INSERT INTO jqfk VALUES ('B211001024013','2015-03-08 10:46:13',0);
INSERT INTO jqfk VALUES ('B211001024014','2015-03-08 10:46:13',0);
INSERT INTO jqfk VALUES ('B173022031201','2015-04-08 10:46:13',13);
INSERT INTO jqfk VALUES ('B211001024011','2015-04-08 10:46:13',0);
INSERT INTO jqfk VALUES ('B211001024012','2015-04-08 10:46:13',12);
INSERT INTO jqfk VALUES ('B211001024013','2015-04-08 10:46:13',0);
INSERT INTO jqfk VALUES ('B211001024014','2015-04-08 10:46:13',0);

需要连续统计最新日期开始,为0的数。比如上面统计结果应该是

1 B211001024014 4
2 B211001024011 3
3 B211001024013 2


SQL如下

SELECT yhh,MAX(s) nums from (danielinbiti
select a.*
,case when @f=0 then @cust:=yhh end t1
,@f:=1
,case when yhh!=@cust then @flag:=0 end t
,case when ysl!=0 and @flag=0 then @flag:=1 end f
,case when ysl=0 and @flag=0 then @cnt:=@cnt+1 else @cnt:=0 end c
,@cnt s,@cust:=yhh,@flag f2 from (
select * from jqfk order by yhh,cbrq desc 
) a,(select @cust:='') r,(select @cnt:=0) r2,(select @flag:=0) r3,(select @f:=0) r4
) k where f2=0 group by yhh order by nums desc


Mysql断号查询(连续数字查询中间断开的地方)

项目里需要到连续生成的序列号,这个序列号要按照从小到大的顺序依次往后生成。比如1,2,3,4,5,6,7..24,25...这种连续格式。当前面的某一个数字被用掉以后,就重新生成。比如2,6被用掉了,...
  • little_soybean
  • little_soybean
  • 2017年12月05日 21:13
  • 115

mysql 生成一段连续的日期

原理是通过存储0-9 这个10个数字的表 来生成一段连续的时间间隔   通过是试错的方式来生成 CREATE TABLE num (i int); INSERT INTO num (i) VALUE...
  • u010953266
  • u010953266
  • 2015年06月15日 14:55
  • 3281

MySQL分组排序取前N条记录以及生成自动数字序列--group by 后 limit 外加 rownumber

同事提了一个需求,要求按照某列分组,然后将各组的前几条抽取出来。 表结构 CREATE TABLE `total_freq_ctrl` ( `time` int(10) unsigned NOT ...
  • ylqmf
  • ylqmf
  • 2014年09月02日 14:46
  • 28967

mysql 统计连续登录天数

在网上看到一道有意思的题目,大意是如何在mysql查询连续的时间内登录的次数。原文链接:      http://www.oschina.net/question/573517_118821 ...
  • wuxbeyond
  • wuxbeyond
  • 2016年03月23日 14:48
  • 4246

SQL寻找连续数字中断数字的例子_mysql

  • 2014年09月19日 07:39
  • 2KB
  • 下载

mysql 统计连续登录天数

在网上看到一道有意思的题目,大意是如何在mysql查询连续的时间内登录的次数。原文链接:      http://www.oschina.net/question/573517_118821 ...
  • wuxbeyond
  • wuxbeyond
  • 2016年03月23日 14:48
  • 4246

MySQL 获取连续范围

1、原始数据 2、把running_number转成数据,并加上一列有序数字SELECT d.running_number+0 running_number,@a:=@a+1 rn FROM dev...
  • p_3er
  • p_3er
  • 2015年04月21日 15:56
  • 1481

mysql查询连续时间数据——无数据补0

用D3来画统计图,数据是从mysql数据库中查出来的。 统计图是关于某段时间内,每年/每月/每周的微博数量的折线图。数据表是一条微博为一条记录,每条记录有日期这个字段。 首先考虑用group by来统...
  • u012603073
  • u012603073
  • 2016年03月03日 11:38
  • 9814

MySQL中实现连续日期内数据统计,缺省天数0补全

MySQL中实现连续日期内数据统计,缺省天数0补全昨天群里有同学在问:想要查找当前日期到前7天时间内,每天的数据量总和是多少?这个相信很多人都可以想到直接用group by data就可以实现,但是这...
  • WxQ92222
  • WxQ92222
  • 2017年12月22日 11:05
  • 148

将字符串中连续的数字作为一个整数输出_并统计整数的个数

  • 2017年02月21日 17:32
  • 1020B
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MySQL连续数统计
举报原因:
原因补充:

(最多只允许输入30个字)