ホームページ >データベース >mysql チュートリアル >過去 1 日以内の MySQL での一意のサイト ログインを正確にカウントするにはどうすればよいですか?
MySQL での個別のサイト ログインのカウント
目標は、過去 1 日以内の特定の Web サイトへのユニークな訪問数を決定することです。 cp_visits テーブルの user_id 列と site_id 列。ただし、最初のクエリでは、サイト訪問に関して重複した結果が提供されているようです。この問題を修正する方法を見てみましょう。
提供されたクエリは個別の訪問をカウントしようとしますが、重複を排除するために重要な GROUP BY 句が含まれていません。その結果、結果が集計されないため、クエリは site_id ごとに複数の行を返します。
個別のサイト ログインを正確にカウントするには、結果を site_id でグループ化し、各サイト内の個別の user_id をカウントする必要があります。グループ。次の変更されたクエリはこれを実現します:
SELECT COUNT(DISTINCT `user_id`) AS `countUsers`, COUNT(`site_id`) AS `countVisits`, `site_id` AS `site` FROM `cp_visits` WHERE `ts` >= DATE_SUB(NOW(), INTERVAL 1 DAY) GROUP BY `site_id`
この変更されたクエリでは:
これらの変更を適用することで、正確な訪問数を取得できるようになります。 cp_visits テーブルからの過去 1 日の一意のサイト ログイン。
以上が過去 1 日以内の MySQL での一意のサイト ログインを正確にカウントするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。