我有一个具有以下结构和数据的表:
id | type | title
--------------------------
1 | 1 | test 1
2 | 1 | test 2
3 | 2 | test 3
4 | 2 | test 4
5 | 1 | test 5
我需要使用相同的
type
字段值对邻居行进行分组。所以结果应该像这样:
type |
------
1 |
2 |
1 |
提前致谢。
最佳答案
这应该可以解决问题..使用用户定义的变量。
SELECT
type
FROM(
SELECT
type,
if(@a = type, @b, @b := @b + 1) as grouping_col,
@a := type
FROM testing
JOIN (select @a := 1, @b := 0) as temp
) as t
GROUP BY grouping_col;
SQL FIDDLE一起玩