заметки по запросам MySQL

Тут небольшая шпаргалка по полезным конструкциям по MySQL:

сортировка


Вообще сортировка по INT идет так NULL,0,1

    Сортировка в ORDER BY (проверено, работает):
  • CASE WHEN t2.price = 0 OR t2.price IS NULL THEN 99999999 ELSE t2.price END - закинет все NULL и 0 в конец выборки !!!
  • CASE WHEN t2.not_saled IS NULL THEN 1 ELSE t2.not_saled END !!!!
  • FIELD(t2.price, 222, 11 , NULL) ASC, - если t2.price=222 return 1 , если t2.price=11 return 2 и т.д ... НО похоже не работает NULL

Комбинируем в SELECT и в ORDER BY:

  • можно определить в SELECT сначала поле IF(t2.price IS NULL , 9999999 , t2.price ) AS sort_name, потом : ORDER BY sort_name

  • Иногда надо минимизоровать int до максимального значения:

    ALTER TABLE имяВашейТаблицы AUTO_INCREMENT = 4062