Mysql
 sql >> Base de données >  >> RDS >> Mysql

Nombre moyen d'heures MySQL entre les dates et heures créées pour un intervalle de temps spécifique

La moyenne est la différence entre le premier et le dernier enregistrement divisée par le nombre plus un certain nombre.

SELECT (UNIX_TIMESTAMP(max(date(created)+1), min(date(created)))/1000)/(count(*)+2) AS timediffsecs
FROM Sessions
WHERE created BETWEEN DATE_SUB(NOW(), INTERVAL 4 DAYS) AND NOW()

Qu'est-ce que cela fait ? Premièrement, il n'ajoute pas d'enregistrements supplémentaires aux données. Au lieu de cela, il arrondit simplement la date la plus ancienne et arrondit la date la plus récente. UNIX_TIMETAMP produit des valeurs en millisecondes depuis un certain point dans le temps. Faites la différence entre le plus grand et le plus petit. Enfin, divisez par le nombre de lignes rencontrées plus 2 (je pense que cela devrait être le nombre plus 1, mais votre question indique le nombre plus 2).