2

1つのデータベースで複数のWebサイトを実行しています。

私の質問関連のテーブル構造は次のようになります。

USER
    - UserID
WEBSITE
    - WebsiteID
        - WebsiteName
LOGINRECORD
    - UserID
    - WebsiteID
    - LoginDate

ウェブサイトで複数ログインしたユニークユーザーの数を数えたい。

好き

Website          NumberofUserLoggedinMorethanOnce 
abc.com                     15 
def.com                     25
4

3 に答える 3

5

編集:私は質問を誤解しました。これはそれであるはずです:

SELECT WEBSITE.WebsiteName, count(*)
FROM WEBSITE 
INNER JOIN (
SELECT UserID, WebsiteID, count(*) FROM LOGINRECORD
GROUP BY UserID, WebsiteID
HAVING count(*) > 1) AS T1 ON t1.WebsiteID = WEBSITE.WebsiteID
GROUP BY WEBSITE.WebsiteName
于 2012-06-17T23:50:08.563 に答える
3
SELECT WebsiteID,
       COUNT(*) AS cnt
  FROM (SELECT WebsiteID
          FROM LOGINRECORD
      GROUP BY WebsiteID,
               UserID
        HAVING count(*) > 1) x
GROUP BY WebsiteID
于 2012-06-17T23:55:06.647 に答える
1

これはテストされていませんが、試してみてください -

select websitename, count(*)
from website
inner join
(
select userid, websiteid, count(*)
from loginrecord
inner join website on loginrecord.websiteid = website.websiteid
group by userid, websiteid
having count(*) > 1
) tbl
on tbl.websiteid = website.websiteid
group by websitename
于 2012-06-17T23:57:50.100 に答える