Sql google大查询对多个列的唯一组合进行排序
我们已经有一个网站的所有推荐表:每个推荐一个条目Sql google大查询对多个列的唯一组合进行排序,sql,distinct,google-bigquery,web-traffic,referrals,Sql,Distinct,Google Bigquery,Web Traffic,Referrals,我们已经有一个网站的所有推荐表:每个推荐一个条目 String : referral String : target integer: date 现在,我们希望使用大查询根据计数对所有转介进行排序,如: referral : target, count: google.com/... : welcome.html, 28353 bing.com/... : welcome.html, 5334 gmail.com/... : about.html
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应该是什么?如果我理解正确,那么:
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;
如果我猜对了,那么:
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;
为什么不按两列进行分组
SELECT referral, target, COUNT(*) as cnt
FROM [mydataset.referrallog]
GROUP BY referral, target
ORDER BY cnt DESC
为什么不按两列进行分组
SELECT referral, target, COUNT(*) as cnt
FROM [mydataset.referrallog]
GROUP BY referral, target
ORDER BY cnt DESC
我必须删除distinct,这样它才能正确计数。选择count path,path FROM SELECT concatreferrer,target as path FROM[mydataset.referrallog]group by path,但此sql尚未根据count对结果进行排序。因此,最终答案是SELECT count path as path_count,path FROM SELECT concatreferrer,target as path FROM[mydataset.referrallog]按路径分组按路径排序按路径计数说明。用户1516770:如果您可以编辑您的原始答案,我将批准它!我必须删除distinct,这样它才能正确计数。选择count path,path FROM SELECT concatreferrer,target as path FROM[mydataset.referrallog]group by path,但此sql尚未根据count对结果进行排序。因此,最终答案是SELECT count path as path_count,path FROM SELECT concatreferrer,target as path FROM[mydataset.referrallog]按路径分组按路径排序按路径计数说明。用户1516770:如果您可以编辑您的原始答案,我将批准它!