Выбор MAX (DATEDIFF ()) для каждого должника / клиента в базе данных - PullRequest
0 голосов
/ 03 мая 2018

У меня есть следующий запрос, который подходит для моих целей исследования (для одного должника):

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 голосов
/ 03 мая 2018
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 (или что-то в этом роде), в котором указано, что вас волнует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...