比较MySQL中表中相同列的属性

时间:2018-06-14 03:43:58

标签: mysql sql

我有一个包含以下列的表格:TitleID Version CreatedAt ABCDE 2 2018-06-10 20:28:37 ABCDE 1 2018-06-13 10:00:12 ABCDE 3 2018-06-13 20:00:00 XYZ 2 2018-06-13 20:00:00 XYZ 1 2018-06-13 20:00:01 通常标题的不同版本按顺序排列,但是最近我开始输入它们不是顺序的条目,即

SELECT * FROM REVIEWS T1 WHERE T1.TitleID IN
    (SELECT TitleID FROM REVIEWS T2 WHERE CreatedAt > '2018-05-30'
        AND T1.CreatedAt < T2.CreatedAt AND T1.Version > T2.Version)
AND CreatedAt > '2018-05-30';

正如您所看到的标题ABCDE,版本2出现在版本1之前,版本3出现在版本2之后,这是预期的。对于标题XYZ,版本2也出现在1之前。我试着写一个查询,它会让我知道哪些标题以及过去两周内出现故障的版本。为此,我尝试用这种方式编写查询:

unlist(lapply(dat, class))

1 个答案:

答案 0 :(得分:2)

将表连接到自身,省略版本相等的行,然后过滤Version / CreatedAt discordance。

;C:\Program Files\nodejs\

这是fiddle