Вы должны убедиться, что все записи за последние 6 месяцев находятся на первом месте в результате, а затем беспокоиться о заказе по rating
или id
. Вы можете сделать это, заказав сначала логическое значение
date >= CURDATE() - INTERVAL 6 MONTH
, а затем либо rating
, либо id
в зависимости от ситуации. Например:
SELECT *
FROM data
ORDER BY date >= CURDATE() - INTERVAL 6 MONTH DESC,
CASE WHEN date >= CURDATE() - INTERVAL 6 MONTH THEN rating
ELSE id
END