Zdá se, že chcete vybrat poslední „pid“, pokud jde o „datum“, kde s.mid='2'
Zkuste to (až zjistíte, odkud pid pochází a opravte první řádek)
SELECT [s? or maybe p?].pid
FROM swapping s INNER JOIN post p ON p.postid=s.postid
WHERE s.mid = '2'
ORDER BY date DESC
LIMIT(0,1)
Možná budete také muset vytvořit alias sloupce data v pořadí po řádku.