Plus de 25 ans de SQL et c'est la première fois que je tombe sur les "Window Functions". On en apprend tous les jours !
Ceci permet de détecter dans doublons dans une base de données de personnes:
SELECT
m.*
FROM
(SELECT members.*,
COUNT(*) OVER (PARTITION BY LEFT(first_name, 2), LEFT(last_name, 2), birthdate) AS cnt
FROM members
WHERE birthdate IS NOT NULL) AS m
WHERE
m.cnt > 1
ORDER BY
m.birthdate, m.first_name, m.last_name;
Cela compte les entrées dans la table members qui ont la même date de naissance et les 2 première lettre du nom et du prénom identiques. Et ensuite, on voit ceux qui ont un compte strictement supérieur à 1.