私はあなたの助けが必要です!get last会話
問題:ユーザー間にメッセージシステムがあり、すべての会話の最後の会話を取得する必要があります。これは、user1とuser2の間のメッセージが早くて、最後に書き込まれたメッセージと会話を取得する必要があることを意味します。
私の「メッセージ」テーブル構造はこれです:
'id' | 'uidfrom' | 'uidto' | 'content' | 'cdate'
「uidfromは、」メッセージと「uidto」を書いたユーザーがメッセージを受信したユーザです。
皆さんは考えているのですか、最後の会話をキャッチすることは可能ですか?この場合、最後に書かれたメッセージは 'id' = 5で、今度は 'uidfrom' = 1 AND 'uidto' = 2 + 'uidfrom' = 2 AND 'uidto' = 1の会話全体を取得する必要があります。
EDIT:クエリは動的である必要があります。したがって、最新のメッセージと会話を返すべきです。例えば。 id = 3
というメッセージが2016-07-19- 17:13:50
に書き込まれた場合、このメッセージは、このタイプの会話に1つしかないので、このメッセージを返す必要があります。これ以上のアイデアをお願いしますか?
素早く対応してくれてありがとう!私はあなたのクエリを試していましたが、まず最初に私はエラー 'このバージョンのMariaDBはまだ' LIMIT&IN/ALL/ANY/SOMEサブクエリ 'をサポートしていません。 (s) 'と呼びます。だから私はこのクエリ 'SELECTになってしまったこの問題を解決するには* \t \tメッセージから(BYメッセージORDER FROM uidfrom SELECT \t \t(ID DESC BYメッセージORDER FROM uidfrom SELECT)ではuidfromとIn uidto \t \t \t \t id DESC) 'を実行します。ありがとう! –
どのメッセージが最後に書き込まれたかを調べ、会話に追いつくためにuidfrom + uidtoを選択できますか?今のところ私はいつも同じ会話をしますが、 'id 3のメッセージがその後' id 5のメッセージ 'と書かれても、私はまだ 'user 1'と' user 2 'の会話を得ます。 –