Skip to content

Instantly share code, notes, and snippets.

@nhatnx
Created November 27, 2017 10:35
Show Gist options
  • Select an option

  • Save nhatnx/d87f5af23f28b0730bfbad261395c83c to your computer and use it in GitHub Desktop.

Select an option

Save nhatnx/d87f5af23f28b0730bfbad261395c83c to your computer and use it in GitHub Desktop.
ORDER BY “ENUM field” in MYSQL
ENUM values are sorted based on their index numbers, which depend on the order in which the enumeration members were listed in the column specification. For example, 'b' sorts before 'a' for ENUM('b', 'a'). The empty string sorts before nonempty strings, and NULL values sort before all other enumeration values.
To prevent unexpected results when using the ORDER BY clause on an ENUM column, use one of these techniques:
Specify the ENUM list in alphabetic order.
Make sure that the column is sorted lexically rather than by index number by coding ORDER BY CAST(col AS CHAR) or ORDER BY CONCAT(col).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment