您的位置:首页 > 数据库 > MySQL

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

2013-02-20 16:34 1901 查看
原表如下:

100

101

102

100

100

103

104

102

102

105

106

101

101

输出如下:

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 |

原文见:http://stackoverflow.com/questions/12285926/mysql-consecutive-column
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐