Maison > base de données > tutoriel mysql > Comment comparer les lignes adjacentes dans SQL Server 2008 sans LEAD ni LAG ?

Comment comparer les lignes adjacentes dans SQL Server 2008 sans LEAD ni LAG ?

Susan Sarandon
Libérer: 2024-12-29 13:34:18
original
667 Les gens l'ont consulté

How to Compare Adjacent Rows in SQL Server 2008 Without LEAD and LAG?

Alternatives aux fonctions LEAD et LAG dans SQL Server 2008

Problème :

SQL Server 2008 ne prend pas en charge les fonctions LEAD et LAG. Vous devez déterminer comment comparer la ligne actuelle avec la valeur de la ligne suivante.

Solution :

Une alternative consiste à effectuer une auto-jointure :

SELECT t.*
FROM table t JOIN
     table tnext
     ON t.id = tnext.id - 1 AND
        t.StatusId = 1 AND
        tnext.StatusId = 6 AND
        DATEDIFF(SECOND, t.MinStartTime, tnext.MinStartTime) < 60;
Copier après la connexion

Cette requête renverra les lignes où le statut de la ligne actuelle est 1, le statut de la ligne suivante est 6 et la différence de temps entre les deux lignes est moins de 60 secondes.

Si vous avez besoin d'une correspondance exacte à la minute, vous pouvez modifier la requête :

SELECT t.*
FROM table t JOIN
     table tnext
     ON t.id = tnext.id - 1 AND
        t.StatusId = 1 AND
        tnext.StatusId = 6 AND
        DATEDIFF(SECOND, t.MinStartTime, tnext.MinStartTime) < 60 AND
        DATEPART(MINUTE, t.MinStartTime) = DATEPART(MINUTE, tnext.MinStartTime);
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal