Rumah  >  Artikel  >  pangkalan data  >  MySql中关于某列中相同数值连续出现次数的统计

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

WBOY
WBOYasal
2016-06-07 15:08:172753semak imbas

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 |

 

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn