MySQL consegue uma conversa entre dois usuários

Eu tenho uma tabela SQL denominada private_messages com campos (id, from, to, message, stamp). o campo do carimbo corresponde à data da mensagem

Então, qual consulta eu preciso para:

1) obter uma conversa entre dois usuários (ordenada por data)?

Eu tentei a consulta

(SELECT * FROM private_messages WHERE from=$my_id AND to=$other_id) 
UNION 
(SELECT * FROM private_messages WHERE from=$other_id AND to=$my_id) 
ORDER BY stamp
;

mas não funciona ...

2) obter as últimas mensagens entre mim e outros usuários, cada um com um usuário diferente, ordenado por data (para construir uma caixa de entrada como no fac-book, por exemplo)?

questionAnswers(4)

yourAnswerToTheQuestion