我有以下查询适用于我的研究目的(对于单个债务人):
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。你们有什么投入,我怎么能这样做?
提前致谢。
答案 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
(或其他)的列,用于标识您关注的内容。