Disk full (/tmp/#sql_6b4a_2); waiting for someone to free some space... SELECT ex.*, ueb.bookmarked, coalesce(bp.caption_ru, bp.caption) body_part FROM (SELECT exercises.id, exercises.user_id, exercises.img_male_1, exercises.img_male_2, exercises.img_male_3, exercises.img_male_4, exercises.img_female_1, exercises.img_female_2, exercises.img_female_3, exercises.img_female_4, exercises.smallpicture, exercises.ex_level_id, exercises.ex_type_id, exercises.ex_force_type_id, exercises.ex_mechanics_type_id, exercises.body_weight_koeff, exercises.multiply_weight, exercises.fatigue_factor, exercises.cnt_workouts, exercises.active, exercises.bm_synched_date, exercises.bm_id , coalesce(exercises.caption_en, exercises.caption) caption, coalesce(exercises.content_en, exercises.content) content, coalesce(exercises.alternative_captions_en, exercises.alternative_captions) alternative_captions, coalesce(exercises.url_en, CONCAT('/en/exercises/', exercises.id) ) as url FROM exercises WHERE archive = 0 GROUP BY exercises.id) ex LEFT OUTER JOIN user_exercise_bookmarks ueb ON ueb.user_id = 1710 AND ex.id = ueb.exercise_id LEFT OUTER JOIN exercises_muscles_movements_types emmt ON emmt.exercise_id = ex.id AND emmt.muscle_movement_type_id = 1 LEFT OUTER JOIN muscles m ON m.id = emmt.muscle_id LEFT OUTER JOIN exercises_equipments ee ON ee.exercise_id = ex.id LEFT OUTER JOIN body_parts bp ON bp.id = m.body_part_id WHERE 1 AND ( 1 AND ex.id IN (15,40,43,55,123,227,229,230,234,245,278,295,378,382,403,411,432,455,500,503,512,544,552,557,580,709,757) OR ex.id IN (25, 56, 295, 454) ) AND (ex.img_male_1 <> "" OR ex.img_female_1 <> "" OR ex.user_id = 1710) GROUP BY ex.id ORDER BY FIELD(ex.user_id, 1710) DESC, ueb.bookmarked DESC, ex.cnt_workouts DESC, caption ASC