2014-12-13 97 views
0

我有表USER_VIEWSMysql的總和 - 計數,與組,爲了通過,限制功能

我的平板電腦的樣本數據

Id | product_id | category | user_id | sitename| price | click_count | created_date 
1  10   watch  102   ebay  820  1   2014-08-18 13:56:05 
2  10   watch  102   amazon  750  1   2014-08-19 13:56:05 
3  10   watch  102   amazon  740  1   2014-08-19 18:00:05 
4  10   watch  102   ebay  940  1   2014-08-25 08:00:00 
5  10   watch  102   amazon  640  5   2014-08-25 08:10:10 
6  10   watch  102   ebay  580  3   2014-09-25 18:10:10 
7  10   watch  102   amazon  980  5   2014-10-05 12:20:40 

我希望用戶的總數訪問本產品

我的查詢

"select Id , proudct_id , category , user_id , count(click_count) as cnt from user_view where user_id =102 group by product_id order by rand() limit 0,10" 

但產量只顯示一個計數

輸出

Id | product_id | category | user_id | cnt 
    1  10   watch  102  1   

預期成果是

Id | product_id | category | user_id | cnt 
    1  10   watch  102  17 
+2

重新閱讀您的標題,然後再次查看您的代碼。你問如何計算總和;但不使用總和功能... – Ben 2014-12-13 07:28:36

回答

1

您應該使用SUM聚合函數,而不是數量,這將計算行數。所以,你的查詢應該是這樣的:

select Id , product_id , category , user_id , SUM(click_count) as sum ... 
-1

試試這個:

select Id , proudct_id , category , user_id , SUM(click_count) as cnt 
from user_view 
where user_id =102 
order by rand() 
limit 0,10 
group by product_id 

COUNT()總是返回項目的數量,而不是值的總和。所以使用SUM()

-1
"select Id , proudct_id , category , user_id , count(click_count) as cnt from user_view where user_id =102 group by user_id, product_id order by rand() limit 0,10"