0

こんにちは、次のクエリがあります。

SELECT count(e.id), count(c.id), e.Nid
  FROM tbl1 e
  LEFT JOIN tbl2 c
  ON e.Uid = c.Uid
  where e.at > '".$from."'
  AND e.at < '".$to."'
  GROUP BY e.Nid

そのため、ユーザーがサイトにアクセスしたときのテーブルと、アカウントを作成したときのテーブル (自分のサイトのトラフィック モニター) の 2 つのテーブルがあります。Nid はブラウザベースのユーザーエージェントです。

これにより、ブラウザの種類ごとに何人が参加し、何人のアカウントが作成されたかがわかります。今私の問題は、WHERE e.IP is unique などの句を追加したいということです。

誰かがこれで私を正しい方向に向けることができます。私はmysqlの初心者です。

4

3 に答える 3

1

このように見えるはずです

SELECT COUNT(DISTINCT e.IP), count(e.id), count(c.id), e.Nid
FROM tbl1 e
LEFT JOIN tbl2 c
ON e.Uid = c.Uid
where e.at > '".$from."'
AND e.at < '".$to."'
GROUP BY e.Nid
于 2013-06-26T20:11:20.537 に答える
0

つまり、 で一意の IP アドレスをカウントする必要がありますtbl1。その場合、 onに参加tbl1することはできません。これは、 の各 IP アドレスに対して複数の 's を使用できると思われるためです。tbl2UidUidtbl1

于 2013-06-26T20:25:55.167 に答える