dans l'exemple de tableau ci-dessous - Tableau A, nous avons des entrées pour quatre ID différents 1,2,3,4 avec le statut respectif et son heure. Je voulais trouver le "ID" qui a pris le maximum de temps pour changer le "Statut" de Démarré à Terminé. Dans l'exemple ci-dessous, c'est ID = 4. Je voulais lancer une requête et trouver les résultats, où nous avons actuellement environ un million d'enregistrements dans une table. Ce serait vraiment génial, si quelqu'un fournit un moyen efficace de récupérer ces données.Recherche de la différence de date maximale sur une seule colonne
Tableau A
ID Status Date(YYYY-DD-MM HH:MM:SS)
1. Started 2017-01-01 01:00:00
1. Completed 2017-01-01 02:00:00
2. Started 2017-10-02 03:00:00
2. Completed 2017-10-02 05:00:00
3. Started 2017-15-03 06:00:00
3. Completed 2017-15-03 09:00:00
4. Started 2017-22-04 10:00:00
4. Completed 2017-22-04 15:00:00
Merci! Bruce
MySQL <> SQL Server. Veuillez marquer celui que vous utilisez. –
Qu'avez-vous essayé jusqu'à présent? S'il vous plaît fournir votre code. –
En fait, j'exécutais différentes requêtes. select * de la table où status = 'completed' par Date desc. Et puis a pris quelques ID récents qui sont en état «terminé». sélectionnez Date de la table où ID dans (1,2,3,4) et vérifiait manuellement la différence maximale entre les dates pour chaque ID donné. Je me demandais si je pouvais écrire une sous-requête ou une auto-jointure pour récupérer les enregistrements, car j'ai actuellement 1 million d'enregistrements sur la table et il est difficile de vérifier chaque enregistrement manuellement. Votre aide serait très appréciée. Merci! – Bruce