基于列值获取相同连续两行的计数的MySQL查询
我需要一个sql查询,它将根据col2值获取col3的值a到b的唯一可能组合的计数。 在下表中,a到b的值有两次(col1-1为2到3,col1-2为2到3)。同样,我需要表中连续出现的a到b字段的计数(我们可以从col2-2,3中识别) 我有下表:基于列值获取相同连续两行的计数的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
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我的查询得到了答案,感谢您的积极响应。