Intuïtief zou wat u vraagt gelijk moeten zijn aan het interval tussen de eerste en de laatste datum, gedeeld door het aantal datums min 1.
Laat ik het wat uitgebreider uitleggen. Stel je voor dat de datums punten op een lijn zijn (+
zijn datums aanwezig, -
ontbreken datums, de eerste datum is de 12e en ik heb de laatste datum gewijzigd in 24 december ter illustratie):
++----+---+-+
Wat u nu echt wilt doen, is uw datums gelijkmatig tussen deze regels verdelen en uitzoeken hoe lang het tussen elk van hen is:
+--+--+--+--+
Om dat te doen, neemt u eenvoudig het aantal dagen tussen de laatste en de eerste dag, in dit geval 24 - 12 =12, en deelt u dit door het aantal intervallen dat u moet uitsparen, in dit geval 4:12 / 4 = 3
.
Met een MySQL-query
SELECT DATEDIFF(MAX(dt), MIN(dt)) / (COUNT(dt) - 1) FROM a;
Dit werkt op deze tabel (met jouw waarden levert het 2,75 op):
CREATE TABLE IF NOT EXISTS `a` (
`dt` date NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
INSERT INTO `a` (`dt`) VALUES
('2010-12-12'),
('2010-12-13'),
('2010-12-18'),
('2010-12-22'),
('2010-12-24');