2012-12-28 55 views
0

的獨特組合,我們已經有一個網站的所有推薦的表格:(每推薦一個條目)谷歌大查詢分揀多列

String : referral 
String : target 
integer: date 

現在,我們想用大查詢到所有推薦排序基於計數,如:

referral  : target,   count: 

google.com/... : welcome.html, 28353 
bing.com/... : welcome.html, 5334 
gmail.com/... : about.html,  343 
... 

大查詢SQL應該是什麼?

回答

1

爲什麼不乾脆由兩列組?

SELECT referral, target, COUNT(*) as cnt 
FROM [mydataset.referrallog] 
GROUP BY referral, target 
ORDER BY cnt DESC 
1

如果我得到你的權利,所以:

SELECT COUNT(path) AS path_count, path 
FROM (
    SELECT concat(referrer, target) AS path 
    FROM [mydataset.referrallog]) 
GROUP BY path ORDER BY path_count DESC; 
+0

我必須刪除「不同」,所以它輸出計數正確。 「SELECT count(path),path FROM(select concat(referrer,target)as path FROM [mydataset.referrallog])by path」 –

+0

但是這個sql沒有根據count數對結果進行排序。 –

+0

所以最終的答案是「SELECT count(path)as path_count,path FROM(select concat(referrer,target)as path FROM [mydataset.referrallog])group by path order by path_count desc」。 –