为数据库中的每个债务人/客户选择MAX(DATEDIFF())

时间:2018-05-03 11:33:39

标签: mysql sql mariadb

我有以下查询适用于我的研究目的(对于单个债务人):

SELECT MAX(DATEDIFF(r.next_created, r.created))
    FROM (

    # finds each created and the next consecutive one in the table
    SELECT r1.created as created, (

        # finds the next consecutive created
        SELECT created
        FROM (db) r2
        WHERE r2.created > r1.created
        ORDER BY created ASC
        LIMIT 1
    ) as next_created

    FROM (db) r1
    ORDER BY r1.created) as r

但是,我非常希望能够将其扩展到我的数据库中的每个debtor_id。你们有什么投入,我怎么能这样做?

提前致谢。

1 个答案:

答案 0 :(得分:0)

SELECT r.debtor, MAX(DATEDIFF(r.next_created, r.created))
FROM (SELECT r1.*
             (SELECT r2.created
              FROM db r2
              WHERE r2.debtor = r1.debtor AND r2.created > r1.created
              ORDER BY r2.created ASC
              LIMIT 1
             ) as next_created
      FROM db r1
     ) r
GROUP BY r.debtor;

这假设您的表格中有一个名为debtor(或其他)的列,用于标识您关注的内容。

相关问题