Есть таблица
Надо получить уникальных id пользователей, которые отправляли сообщения пользователю "1".
Составил запрос
SELECT DISTINCT (CASE
WHEN user_add='1'
THEN user_from
WHEN user_from='1'
THEN user_add
END
) AS user_id FROM message WHERE user_add='1' OR user_from = '1'
результат
Вопрос как отсортировать по дате или id, ORDER BY id DESC не работает?
Все, вот так работает:
SELECT CASE
WHEN user_add='1'
THEN user_from
WHEN user_from='1'
THEN user_add
END
AS user_id , max(id)
FROM message
WHERE user_add='1' OR user_from = '1' group by user_id order by max(id) DESC
Спасибо!
SELECT user_add id
FROM message
WHERE user_from = 1
UNION
SELECT user_from
FROM message
WHERE user_add = 1
ORDER BY id DESC
fiddle
Сборка персонального компьютера от Artline: умный выбор для современных пользователей