0

これは私のクエリです:

mysql_query("SELECT userid FROM messages WHERE userid<>'$myid' AND friendid='$myid' AND status=1 UNION SELECT friendid FROM messages WHERE userid='$myid' AND friendid<>'$myid' AND status=1");

ページングを追加したいので、メッセージを送る友達の数を制限する必要があります。しかし、LIMIT を追加するたびにエラーが表示されます。また、最新のメッセージを最初に表示したいのですORDER BY time DESCが、それもうまくいきません。ヘルプ ?

4

2 に答える 2

6

ORDER BY ... LIMIT...そのクエリをサブクエリの内側と外側のクエリで囲みます。

SELECT *
FROM
(
    SELECT userid 
    FROM messages 
    WHERE userid   <> '$myid' 
      AND friendid = '$myid' 
      AND status = 1 
    UNION 
    SELECT friendid 
    FROM messages
    WHERE userid = '$myid' 
      AND friendid <> '$myid' 
      AND status = 1
) AS sub
ORDER BY ...
LIMIT ...;
于 2013-03-19T11:21:40.370 に答える
1

多分試してみてください

SELECT DISTINCT userid FROM...
于 2013-03-19T11:19:50.043 に答える