Условие if в сортировке order by mysql

Подскажите пожалуйста, есть таблица:

id|user_with|user_creator|fav_user_with|fav_user_creator|
1 |   10    |     15     |      1      |        0       |
2 |   10    |     15     |      0      |        1       |
3 |   15    |     10     |      0      |        1       |
4 |   15    |     10     |      1      |        0       |
5 |   15    |     10     |      0      |        1       |

Как я могу сделать сортировку.

Если user_creator = 15 и fav_user_creator = 1 то order by fav_user_creator desc, id desc.

Если user_with = 15 и fav_user_with = 1 то order by fav_user_with desc, id desc.

Должно получиться при первом условии:

id|user_with|user_creator|fav_user_with|fav_user_creator|
2 |   10    |     15     |      0      |        1       |
5 |   15    |     10     |      0      |        1       |
4 |   15    |     10     |      1      |        0       |
3 |   15    |     10     |      0      |        1       |
1 |   10    |     15     |      1      |        0       |

Должно получиться при втором условии:

id|user_with|user_creator|fav_user_with|fav_user_creator|
4 |   15    |     10     |      1      |        0       |
5 |   15    |     10     |      0      |        1       |
3 |   15    |     10     |      0      |        1       |
2 |   10    |     15     |      1      |        0       |
1 |   10    |     15     |      0      |        1       |

Ответы (1 шт):

Автор решения: Герман Борисов
…
ORDER BY
  CASE
    WHEN user_creator = 15 AND fav_user_creator = 1 THEN fav_user_creator
    WHEN user_with = 15 AND fav_user_with = 1 THEN fav_user_with 
  END desc,
  id desc
→ Ссылка