Arkadaşlar şu iki sorgu arasında ki problemi anlayamadım bir türlü

Bu PHPMyadmin sorgusu ve sorunsuz çalışıyor

SELECT DISTINCT(gonderen_id) FROM kml_mesajlar WHERE alici_id = 1 AND ozel_mesaj = 0 AND gonderen_id NOT IN( SELECT gonderen_id FROM kml_mesajlar WHERE alici_id = 1 AND ozel_mesaj = 1 ORDER BY mesaj_id DESC ) ORDER BY mesaj_id DESC


bu PDO sorgusu birebir kopyalıyorum ama sıralama yanlış oluyor

$db->query("SELECT DISTINCT(gonderen_id) FROM kml_mesajlar WHERE alici_id = 1 AND ozel_mesaj = 0 AND gonderen_id NOT IN( SELECT gonderen_id FROM kml_mesajlar WHERE alici_id = 1 AND ozel_mesaj = 1 ORDER BY mesaj_id DESC ) ORDER BY mesaj_id DESC", PDO::FETCH_ASSOC);


kafayı yedirtecek sorguların arasında hiç bir fark yok ama sonuçlar farklı