Je crée un graphique Web basé sur jquery qui affiche les données météorologiques. Les données sont chargées via Ajax -> PHP -> MySQL. La base de données MySQL contient un enregistrement de divers paramètres pour chaque minute pour les 10 dernières années ... (Donc une quantité énorme d'enregistrements). Je souhaite que les utilisateurs puissent générer un graphique pour une plage de dates personnalisée, mais limiter le nombre de données que je tire pour des plages de dates plus longues que quelques jours. Autrement dit, s'ils interrogent pendant une semaine de données, mon code php devrait renvoyer seulement 1 valeur de données par heure.
Je ne veux pas effectuer de calcul de moyenne ou de traitement côté serveur de ce type - je veux récupérer seulement chaque énième enregistrement de mysql - de sorte que j'obtienne une quantité gérable de données.date nième enregistrement dans la requête MySQL
Mon problème est, ma base de données n'a pas de champ de numéro d'enregistrement, et je ne peux pas modifier le format de la base de données. Y a-t-il un moyen de le faire en fonction des valeurs de date réelles? Comme dit cast à l'horodatage unix, alors sélectionnez seulement l'enregistrement si la date est divisible par un certain nombre? (Je calcule le nombre basé sur la longueur de la plage de temps, pour tirer un nombre fixe de points)
Des idées sur les bonnes façons de le faire? S'il y avait une solution qui me permettrait de sélectionner directement les intervalles de temps, ce serait idéal. (c'est-à-dire toutes les 5 minutes, 10 minutes, 1 heure, 5 heures, etc.)
EDIT: le champ est le format MySQL dateTime !! Merci d'avoir demandé la clarification!
Dans quel format est l'heure stockée dans la base de données (la colonne est-elle une colonne datetime mysql ou timestamp unix)? Et cette colonne est-elle indexée? – Arjan
Pouvez-vous ajouter les détails de votre table? –
Désolé! Merci pour les commentaires. C'est une colonne datetime MySQL! –