从mysql查询中获取最后3行错误


Error getting last 3 rows from mysql query

我试图从查询中获得最后3行,但我一直得到这个错误:

SQLSTATE[42S21]: Column already exists: 1060

请告诉我,我哪里做错了?
$sql = "SELECT * FROM (SELECT i.*, m.*, p.* FROM message i JOIN 
members m ON m.id = i.sender_id JOIN profile_photos p 
ON p.member_id = m.id   WHERE (receiver_id = :receive 
AND sender_id = :sent OR receiver_id = :sent AND sender_id = :receive) 
ORDER BY date DESC LIMIT 3) t ORDER BY date ASC";

您可能已经在多个表中有ID列,并选择语句SELECT i.*, m.*, p.*列出它们。

选择您想要的特定列,例如

SELECT i.id, i.col1, m.col2, p.col3 ...

或者,使用像

这样的列别名
SELECT i.id as IID, m.*, p.id as PID