2013-05-19 3 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

예. 작동합니다. 감사! –

관련 문제