2013-05-19 62 views
0

我有這段代碼,它不工作。我想用最新的評論進行查詢後將訂單逆轉。Mysql子查詢顛倒順序

SELECT * 
FROM( 
    SELECT users.id, users.nome, users.email,users.foto, comments.content 
    FROM users, comments 
    WHERE comments.posts_id=? AND comments.users_id=users.id 
    ORDER BY comments.id DESC LIMIT 5) 
AS dummy 
ORDER BY comments.timecomment ASC 

回答

0

看起來你只是需要給你的外部查詢一些東西(cid)來排序,然後做你現在正在做的事情;

SELECT * 
FROM (SELECT users.id, users.nome, users.email,users.foto, 
      comments.content, comments.id cid 
     FROM users, comments 
     WHERE comments.posts_id=1 AND comments.users_id=users.id 
     ORDER BY comments.id DESC LIMIT 5) AS dummy 
ORDER BY cid ASC 
+0

謝謝!有用! –

0

如果你的目標只是輸出發現意見扭轉它在PHP:

SELECT users.id, users.nome, users.email,users.foto, comments.content 
    FROM users, comments 
    WHERE comments.posts_id=? AND comments.users_id=users.id 
    ORDER BY comments.id DESC LIMIT 5 

$評論= array_reverse($意見);

1

要排序,comments.timecomment領域,似乎並沒有在內部SELECT查詢中選擇......此外,明確提到的表名可能無法在如果該字段外部查詢是必要的名字是唯一的。

如何:

SELECT * 
FROM( 
    SELECT users.id, users.nome, users.email,users.foto, comments.content, 
    comments.timecomment 
    FROM users, comments 
    WHERE comments.posts_id=? AND comments.users_id=users.id 
    ORDER BY comments.id DESC LIMIT 5) 
AS dummy 
ORDER BY timecomment ASC 
+0

啊 - 我剛剛更新了我的帖子。如果您在外部查詢中刪除表名稱,該怎麼辦? – Ien

+0

是的,它的工作原理。謝謝! –