I would like to order my query first By Field and then for the ones who were not in the list of 'by FIELD', sort alphabetically. When I do that, the result first gives all the fields that are not in the field list, en after those fields, the result shows the fields that were ordered by Field (correctly)

This is my query:

SELECT merk FROM user WHERE merk <> '' group by merk
ORDER BY FIELD(merk,'Theo', 'Anne et Valentin') ASC, merk ASC

it's because FIELD(merk,'Theo', 'Anne et Valentin') returns zero when the value is not on the list, so instead of FIELD(merk,'Theo', 'Anne et Valentin') ASC, order it by descending so the values that are present on the list of FIELD will be sorted first.