J'ai une requête qui fonctionne quand je faisPourquoi DISTINCT doit-il passer en premier dans MySQL?
SELECT DISTINCT(table.field.id), 1 FROM ...
mais échoue quand je fais
SELECT 1, DISTINCT(table.field.id) FROM ...
Est-ce un comportement connu?
Pourquoi le premier fonctionne-t-il alors que le second ne fonctionne pas?
'DISTINCT' est * pas * une fonction. 'SELECT DISTINCT' est une clause dans le langage SQL. 'SELECT DISTINCT' s'applique aux colonnes * all * de la clause. –
'DISTINCT' signifie" éliminer les lignes en double ". Cela n'a aucun sens au niveau de la colonne. C'est pourquoi il reste [entre 'SELECT' et la liste des expressions sélectionnées] (https://dev.mysql.com/doc/refman/5.7/en/select.html). Pour répondre à la question en titre: parce que la [documentation de 'SELECT'] (https://dev.mysql.com/doc/refman/5.7/en/select.html) le dit. – axiac