MySql中关于某列中相同数值连续出现次数的统计

WBOY
发布: 2016-06-07 15:08:17
原创
2755 人浏览过

MySql中关于某列中相同数连续出现次数的统计 原表如下: www.2cto.com 100 101 102 100 100 103 104 102 102 105 106 101 101 输出如下: www.2cto.com 100 1 101 2 102 3 100 4 100 4 103 5 104 6 102 7 102 7 105 8 106 9 101 10 101 10 sql如下: SET @t1

MySql中关于某列中相同数值连续出现次数的统计

 

原表如下: www.2cto.com  

100

101

102

100

100

103

104

102

102

105

106

101

101

输出如下:  www.2cto.com  

100    1

101    2

102    3

100    4

100    4

103    5

104    6

102    7

102    7

105    8

106    9

101    10

101    10

sql如下:

SET @t1=0;

SET @tp=-1;

select   

  @t1 := @t1 + (case when @tp=n then 0 else 1 end) as c, 

  n,

  @tp := n

from nums

order by n;

 

测试数据:

create table nums( n int );

insert into nums values (100), (101), (101), (102);

 

输出结果:

| C |   N | @TP := N |

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

| 1 | 100 |      100 |

| 2 | 101 |      101 |

| 2 | 101 |      101 |

| 3 | 102 |      102 |

 

 

create table nums( n int );

insert into nums values (100), (101), (101), (102);

SET @t1=0;
SET @tp=-1;
select @t1 := @t1 + (case when @tp=n then 0 else 1 end) as c, n, @tp := n
from nums GROUP BY n order by n ;

 

输出结果:

| C |   N | @TP := N |

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

| 1 | 100 |      100 |

| 2 | 101 |      101 |

| 3 | 102 |      102 |

 

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板