1

私はこの問題についていくつかの宿題をしました.テーブルをそれ自体で結合することを含むと確信していますが、私はまだそこにいません.

「投稿」テーブルのあるフォーラムがあります。フォーラムで行われたすべての投稿の IP アドレス、ユーザー名、ユーザー ID、および投稿 ID を保存します。

毎週実行できるクエリを取得しようとしています。これにより、この期間中に複数のユーザー ID によって使用された IP アドレスのリストと、同じ IP アドレスが複数のユーザー ID によって使用された場合に関連する投稿 ID が出力されます。

私はこれまでのところ、他の人々の同様の質問からこれを持っています:

SELECT t1.userid,t2.userid, t1.username, t2.username, t1.ipaddress, t2.ipaddress, t1.postid, t2.postid
FROM qvb_post t1
INNER JOIN qvb_post t2 ON t1.ipaddress=t2.ipaddress AND t1.userid!=t2.userid
WHERE 
t1.dateline > 1335897698 AND t2.dateline > 1335897698

しかし、多くの不要な行 IMO を返します。たとえば、ユーザー ID 1 がユーザー ID 2 の IP アドレスを使用したかのように、またユーザー ID 2 がユーザー ID 1 のアドレスを使用したかのように、両方の方法で各重複を返します。

日付変更線は数日前のものです。

理想的には、IPアドレスのリストを重複したユーザー名で順番に表示し、投稿ごとに繰り返し表示したいので、PHPを使用して、IPアドレス、それを使用したユーザー名(ユーザーID)を出力するレポートを作成できます、およびそれらによって作成された投稿 ID。

2 人が同じ IP アドレスを持つ正当な理由がたくさんあることは承知していますが、このレポートに表示されただけで厳しい措置が取られることはありませんのでご安心ください。

あなたが提供できる助けを前もって感謝します。

明確にするために、私はPHPに問題はありません。助けが必要なのはクエリだけです。

4

1 に答える 1