0

私はこのコードを持っていますが、機能していません。最新のコメントでクエリを作成した後、順序を逆にしたいと考えています。

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
4

3 に答える 3

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
于 2013-05-19T16:36:28.893 に答える
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

$comments = array_reverse($comments);

于 2013-05-19T16:27:17.933 に答える
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
于 2013-05-19T16:28:29.720 に答える