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 |