如何获取MySQL中缺少的行

时间:2018-12-11 07:27:19

标签: mysql sql doctrine

示例架构http://sqlfiddle.com/#!9/01c068/2 对于任何插入,author.created_atbooks.created_at相同,而author.previous_created_at与books表中第二高的创建日期相同。 在最新插入中找出丢失记录的最佳方法是什么? 预期结果是具有books.id = 4

的行

1 个答案:

答案 0 :(得分:0)

您的问题对我来说并不完全清楚,但是我认为下面的代码正是您想要的。或至少它会有所帮助。

但是,我想指出的是,表“作者”不包含任何有关作者的数据。它还无法区分不同的作者。因此,您可能需要重新设计项目的某些元素。

这是您要找的东西吗?如果没有,您能否再提供一些解释和一些示例?

select B.id as bookID
, B.author_id
, B.created_at
, sub.previous_created_at 
from books as B
left join (
            select id
            , author_id
            , created_at as previous_created_at 
            from books 
            ) as sub
          on sub.id + 1 = B.id
          and sub.author_id = B.author_id    

此查询返回其作者和created_at的所有书籍,并在最后一栏中返回同一作者上一本书的created_at。