Malheureusement, MySQL ne prend pas en charge les CTE (Common Table Expressions). C'est attendu depuis longtemps OMI. Souvent, vous pouvez simplement utiliser une sous-requête à la place, mais ce CTE particulier est récursif :il se réfère à lui-même à l'intérieur de la requête. Les CTE récursifs sont extrêmement utiles pour les données hiérarchiques, mais encore une fois :MySql ne les prend pas du tout en charge. Vous devez implémenter une procédure stockée pour obtenir les mêmes résultats.
Une de mes réponses précédentes devrait fournir un bon point de départ :