我在tableA中有colA,colB,colC,其中colC是一个时间戳变量。

colB有5个可能的值。

select distinct(colB) from tableA;

x
y
z


我想确保对于colA的每个值,具有colB ='a'的记录比具有colB ='b'的记录具有更早的时间戳,依此类推。因此,对于colA的每个值,colB ='b'记录应在colB ='a'之后,而colB ='c'记录应在colB ='b'之后

我需要相同的SQL查询

最佳答案

如果我理解正确,则可以使用group byhaving

select cola
from tableA
group by cola
having max(case when colb = 'a' then timestamp end) < min(case when colb = 'b' then timestamp end) and
       max(case when colb = 'b' then timestamp end) < min(case when colb = 'c' then timestamp end) and
      . . .

关于mysql - 如何在SQL的每个组中测试列的值顺序(基于时间戳)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49240893/

10-11 05:03