2013-12-12 24 views
0

我有一張表格,用戶根據時間訪問的頁面跟蹤,因此對於一個頁面 我們可能有多個條目供訪問該頁面的用戶使用,我的目標是到是找到頁面及其所有與計數MySql查詢從給定的表中獲取頁面使用情況

例如,對於頁面P1對應的用戶:U1:2

這可以歸結爲P1已被用戶U1訪問兩次

page_usage 
page_visited User_id 
     p1   u1 
     p2   u1 
     p3   u2 
     p1   u3 
     p20   u10 
     p3   u2 
     p3   u1 

繼是我所做的嘗試。

第一次嘗試:

SELECT `user_id`, `page_visited`, COUNT(`page_visited`) , `session_date_time` 
FROM `page_usage` 
GROUP BY `user_id`,`page_visited` 

第二嘗試:

SELECT `page_visited`, `user_id` FROM `page_usage` 
(SELECT `page_visited`,`user_id` 
     FROM `page_usage` AS `used_pages` 
     GROUP BY `page_visited`,`user_id`) 
WHERE `page_visited`=used_pages.`page_visited` AND `user_id`=used_pages.`user_id` 

這是語法不正確。我是sql新手,如果這是一個簡單的查詢來解決,請耐心等待。

回答

0
Select Page_Visisted,User_Id Count(User_Id) as No_Time_Visited from page_Uage 
group by Page_Visisted,User_Id 
+0

謝謝你,你的解決方案的工作。 – deb

0

試試這個:

SELECT page_visited, 
     user_id, 
     Count(user_id) AS times 
FROM page_usage 
GROUP BY page_visited, 
      user_id 
+0

您的解決方案有效,謝謝! – deb

相關問題