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
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
相关文章推荐
- MySql中关于某列中相同数值连续出现次数的统计
- mysql统计某列值连续出现次数小于五次的记录
- 统计随机数据组中的相同数值出现的次数
- c++统计连续单词出现次数
- 关于数组的问题(连续子数组的最大和、数组中出现次数超过一半的数字、调整数组顺序使奇数位于偶数之前)
- 一个一万字长的连续字符串,找出其所有子串,并统计子串的出现次数
- 用递归实现查找字符串中相同字符连续出现次数的最大值
- mysql-按照两个字段分组,按某个字段统计次数(字段值没有出现计算为0)
- 程序员面试题目总结--数组(二)【二分查找、找出给定数字出现次数、两个有序整型数组交集、找出数组中唯一的重复元素、判断数组中的数值是否连续相邻】
- 关于数组的问题(连续子数组的最大和、数组中出现次数超过一半的数字、调整数组顺序使奇数位于偶数之前)
- 字符串中连续子串出现次数统计,获取连续出现次数最多的子串
- 统计每个值连续出现的次数
- 统计字符串中相同字符出现的次数
- 用递归实现查找字符串中相同字符连续出现次数的最大值
- 关于数组的问题(连续子数组的最大和、数组中出现次数超过一半的数字、调整数组顺序使奇数位于偶数之前)
- String类练习讲解-统计字符串中出现连续字符的次数
- 关于数组的问题(连续子数组的最大和、数组中出现次数超过一半的数字、调整数组顺序使奇数位于偶数之前)
- 12、一个整数数列,元素取值可能是0~65535中的任意一个数,相同数值不会重复出现。0是例外,可以反复出现。 请设计一个算法,当你从该数列中随意选取5个数值,判断这5个数值是否连续相邻。
- 统计一个字符串在另一个字符串中出现的次数(Java mysql)
- mysql统计字段中某一字符串出现的次数