基于列值获取相同连续两行的计数的MySQL查询

基于列值获取相同连续两行的计数的MySQL查询,mysql,sql,group-by,Mysql,Sql,Group By,我需要一个sql查询,它将根据col2值获取col3的值a到b的唯一可能组合的计数。 在下表中,a到b的值有两次(col1-1为2到3,col1-2为2到3)。同样,我需要表中连续出现的a到b字段的计数(我们可以从col2-2,3中识别) 我有下表: col1 col2 col3 1 2 a 1 3 b 1 4 c 2 2

我需要一个sql查询,它将根据col2值获取col3的值a到b的唯一可能组合的计数。 在下表中,a到b的值有两次(col1-1为2到3,col1-2为2到3)。同样,我需要表中连续出现的a到b字段的计数(我们可以从col2-2,3中识别)

我有下表:

      col1   col2   col3    
       1       2      a    
       1       3      b
       1       4      c
       2       2      a
       2       3      b
       2       4      c

Output:

f1  f2  count
a   b    2
b   c    2

这里,col1+col2是主键,查询应该是n个可能的连续组合的通用查询。

当我在寻找解决问题的可能性时,我自己得到了一个

下面是一个查询,以获得我想要的、非常直接的所需输出

select a.col3 f1,
b.col3 f2,
count(*) count  
from testTable b,testTable a
where 
a.col2 = b.col2 -1
and a.col1 = b.col1
group by ev1,ev2;

到目前为止你做了什么?你有什么错误吗?mcve]可能有助于改进您的问题。另外,您是否需要针对Oracle、MySQL或两者的解决方案?我正在尝试使用group by解决查询问题,但发现很难创建一个。我仍在编写一个。MySql将起作用,我只需要创建这样的查询的想法。@Nitish我的查询得到了答案,感谢您的积极响应。