unknown: MYSQL LIMIT immer am Ende der Anweisung

Beitrag lesen

SELECT
    [ALL | DISTINCT | DISTINCTROW ]
      [HIGH_PRIORITY]
      [STRAIGHT_JOIN]
      [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
      [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
    select_expr, ...
    [FROM table_references
    [WHERE where_condition]
    [GROUP BY {col_name | expr | position}
      [ASC | DESC], ... [WITH ROLLUP]]
    [HAVING where_condition]
    [ORDER BY {col_name | expr | position}
      [ASC | DESC], ...]
    [LIMIT {[offset,] row_count | row_count OFFSET offset}]
    [PROCEDURE procedure_name(argument_list)]
    [INTO OUTFILE 'file_name' export_options
      | INTO DUMPFILE 'file_name']
    [FOR UPDATE | LOCK IN SHARE MODE]]

LIMIT kommt nach ORDER BY, welches optional ist.
Wird ORDER BY nicht angegeben, kommt LIMIT nach der HAVING Clause, welche auch optional ist.
Wird auch diese nicht angegeben, kommt LIMIT nach GROUP BY. Auch das ist optional, usw.
Frühestens nach der Expression, welche nicht optional ist, kann also das Limit kommen.