-2

例:

メッセージ

お分かりできると良いのですが。このクエリを試していますが、ユーザー 1 から送信されたものだけが返されます。彼に送信されたものも必要です。しかし、同じ参加者を繰り返すことなく。

4

5 に答える 5

1
SELECT idMsg(Max), idFrom, idTo
FROM Messages
WHERE idFrom = 1 OR idTo = 1
GROUP BY idFrom
ORDER BY visualized DESC

また

SELECT top 1 idMsg, idFrom, idTo
FROM Messages
WHERE idFrom = 1 OR idTo = 1
ORDER BY DESC
于 2013-05-02T05:35:38.227 に答える
0

試す:

select case when idfrom < idto then idfrom else idto end userid1,
       case when idfrom > idto then idfrom else idto end userid2,
       max(id) id
from messages
where 1 in (idfrom, idto)
group by
       case when idfrom < idto then idfrom else idto end,
       case when idfrom > idto then idfrom else idto end
于 2013-05-02T05:35:19.727 に答える
0

私は何かを試してみます

SELECT MAX(id), idto, idfrom
FROM messages
WHERE idto = 1 OR idfrom = 1
GROUP BY idto, idfrom

おそらく必要以上に多くなりますが、素晴らしくクリアです。

于 2013-05-02T05:25:03.350 に答える
0

クエリ:

SELECT m1.idMsg, m1.idFrom, m1.idTo
FROM Messages m1
WHERE m1.dataMsg = (SELECT MAX(m2.dataMsg)
                    FROM Messages m2
                    WHERE m2.idFrom = m1.idFrom
                    AND m2.idTo = m1.idTo) 
于 2013-05-02T05:39:02.633 に答える