Столкнулся с проблемой, когда mysql отсортировал строки не так, как php. Возможно, это где-то настраивается?
Пример:
96 ` Back quote
97 a Lower case alphabetic character
MySQL:
SELECT IF( '`' > 'a', 1, 0 )
Дает в результате 1.
PHP:
var_dump('`' > 'a');
Дает в результате bool(false) - 0
Еще один тест, который более понятно описывает проблему:
mysql> select ord('`'), ord('a'), if('`' > 'a', 1, 0);
+----------+----------+---------------------+
| ord('`') | ord('a') | if('`' > 'a', 1, 0) |
+----------+----------+---------------------+
| 96 | 97 | 1 |
+----------+----------+---------------------+
Почему 96 больше, чем 97?