7.统计UV、分组TopN
有50w
个京东店铺,每个顾客访问任何一个店铺的任何一个商品时都会产生一条访问日志,访问日志存储的表名为Visit
,访客的用户id
为user_id
,被访问的店铺名称为shop
,数据如下:
请统计:
(1) 每个店铺的UV
(访客数)
(2) 每个店铺访问次数top3
的访客信息。输出店铺名称、访客id
、访问次数
实现
(1) 每个店铺的UV
统计,最简单的分组统计即可
select shop,count(distinct user_id) as uv
from test2 group by shop;
(2) 每个店铺访问次数top3
的访客信息。输出店铺名称、访客id
、访问次数
第一步:先统计每个店铺每个访客的访问次数
select user_id,shop,count(*) as cnt
from test2
group by user_id,shop
order by shop,user_id
接下来,我们对访客的访问次数进行倒序排序,并筛选访问次数top3
的访客信息,嵌套子查询比较多,可读性不好,因此使用with as
with t1 as (select user_id,shop,count(*) as cntfrom test2group by user_id, shoporder by shop, user_id
),t2 as (select shop,user_id,cnt,row_number() over (partition by shop order by cnt desc) rnfrom t1)
select *from t2 where rn<=3 order by shop ,cnt desc;
7.统计UV、分组TopN相关推荐
- java mongo分组统计_mongodb 分组 topN
[摘要] MongoDB 对于 TopN 功能的需求使用其 shell 脚本来实现有些复杂,而集算器 SPL 语言,则因其离散性.灵活性恰好能弥补 MongoDB 实现方面的不足.若想了解更多,请前往 ...
- 3、流量分析--分组TopN统计
流量分析--分组TopN统计 ===================================================================================== ...
- Spark使用RDD实现分组topN(八种方法)
最近在复习Spark,记录一个使用RDD实现分组topN的方法,一共写了八种,其中有很多地方都是有共性的,我会在代码最后进行总结八种的思路,他们之间的共性以及每一种的优缺点. 以下是样例数据 语文,赵 ...
- 【Java】使用MapReduce程序统计UV数量
1.UV的概念 UV:unique view->一天内访问网站的用户数 下面是统计UV的代码: 首先是MapReduce类的代码 package com.huadian.bigdata.webl ...
- hadoop3-求分组topn
项目需求#求出每一个订单中成交金额最大的三笔 本质:求分组topn #原始订单数据a.txt ---------------------------------------- 订单号,用户id,商品名 ...
- Java 8 辣么大(lambda)表达式不慌之—–(五)示例-Collectors中的统计、分组、排序等
Java 8 辣么大(lambda)表达式不慌之-–(五)示例-Collectors中的统计.分组.排序等 summarizingInt 按int类型统计 maxBy取最大/minBy取最小 aver ...
- pyspark进行词频统计并返回topN
Part I:词频统计并返回topN 统计的文本数据: what do you do how do you do how do you do how are you from operator imp ...
- MYSQL统计UV和PV_使用redis做pv、uv、click统计
redis实时统计 设计思路: 1. 前端smarty插件(smarty_function_murl),将网站所有的连接生成一个urlid,后端根据获取的参数将需要的数据存入redis. 2.后端插件 ...
- java group by_Java实现GroupBy/分组TopN功能
详情 在Java 8 的Lambda(stream)之前,要在Java代码中实现相似SQL中的group by分组聚合功能,还是比较困难的.这之前Java对函数式编程支持不是很好,Scala则把函数式 ...
最新文章
- cordova 强制竖屏
- sdwan架构怎么搭建?
- SDOI 2006 - 保安站岗
- Jan 12 - Delete Node in a Linked List; Data Structure; Linked List; Pointer;
- 12、play整合Akka
- 高德地图 amap 设置鼠标样式
- php 代码 自动检查工具下载,PHP_CodeSniffer安装和使用教程(自动代码检查规范工具)...
- 精选|2018年6月R新包推荐
- 002-JavaScript基本应用
- IEEE 会议模板介绍
- 电气版CAD学习笔记
- 服务器硬件防火墙和软件防火墙的功能和区别
- 可见首发《模式识别与智能计算:MATLAB技术实现(第2版)》 百度网盘 下载 分享
- i春秋《从0到1:CTFer成长之路》通关WP
- 区块链中的epoch
- Java流程控制练习题
- 【分享】集简云小程序识别名片到CRM流程搭建示例
- 计算机基本基础知识实训总结,计算机基础实训总结范文
- 机器视觉学习系列四:身份证识别
- From scikit-learn to Spark ML