Sql面试题-求店铺访问top3信息
题目:
有个网店,每个顾客访客访问任何一个店铺的任何一个商品时都会产生一条访问日志,访问日志存储的表名为Visit,访客的用户id为uid,被访问的店铺名称为shop,请统计:
1)每个店铺的UV(访客数)
2)每个店铺访问次数top3的访客信息。输出店铺名称、访客id、访问次数
表结构:
CREATE TABLE `visit` (uid varchar(25) DEFAULT NULL comment '用户id',shop varchar(25) DEFAULT NULL comment '店铺' ) ENGINE = InnoDBAUTO_INCREMENT = 8DEFAULT CHARSET = utf8mb4;
表数据:
INSERT INTO visit (`uid`, `shop`) VALUES ('u1', 'a'); INSERT INTO visit (`uid`, `shop`) VALUES ('u4', 'b'); INSERT INTO visit (`uid`, `shop`) VALUES ('u2', 'b'); INSERT INTO visit (`uid`, `shop`) VALUES ('u3', 'c'); INSERT INTO visit (`uid`, `shop`) VALUES ('u2', 'b'); INSERT INTO visit (`uid`, `shop`) VALUES ('u4', 'm'); INSERT INTO visit (`uid`, `shop`) VALUES ('u4', 'b'); INSERT INTO visit (`uid`, `shop`) VALUES ('u4', 'd'); INSERT INTO visit (`uid`, `shop`) VALUES ('u2', 'b'); INSERT INTO visit (`uid`, `shop`) VALUES ('u2', 'b'); INSERT INTO visit (`uid`, `shop`) VALUES ('u5', 'b'); INSERT INTO visit (`uid`, `shop`) VALUES ('u2', 'f'); INSERT INTO visit (`uid`, `shop`) VALUES ('u6', 'b'); INSERT INTO visit (`uid`, `shop`) VALUES ('u2', 'g'); INSERT INTO visit (`uid`, `shop`) VALUES ('u3', 'c');
表预览:
解题思路
1,根据shop分区并且去重的查询uid的数量
2,求topn,本地考虑使用函数rank
1)求出每个店铺被每个客户访问的次数
2)使用rank函数进行排序,上个步骤的结果为源表
3)求topn的明细数据
Sql面试题-求店铺访问top3信息相关推荐
- 求每个店铺访问次数top3的访客信息
题目: 有50W个京东店铺,每个顾客访客访问任何一个店铺的任何一个商品时都会产生一条访问日志, 访问日志存储的表名为Visit,访客的用户id为user_id,被访问的店铺名称为shop,数据如下: ...
- 算法面试必备-----数据库与SQL面试题
算法面试必备-----数据库与SQL面试题 算法面试必备-----数据库与SQL面试题 1.数据库理论问题 问题:什么是数据库,数据库管理系统,数据库系统,数据库管理员? 问题:什么是元组,码,候选码 ...
- 作业题:京东店铺访问数
题目: (1) var sql ="""|select shop_name,count(distinct user_id)|from t_shop|group by sh ...
- 30道经典SQL面试题讲解(11-20)
本篇节选自书籍<对比Excel,轻松学习SQL数据分析>一书,主要讲解数据分析面试中常见的30道SQL面试题.1-10题见:30道经典SQL面试题讲解(1-10) 11 行列互换 现在我们 ...
- sql面试题问答题_SQL面试问答
sql面试题问答题 SQL interview questions are asked in almost all interviews because database operations are ...
- SQL面试题:经典50例
SQL基础知识整理 select 查询结果,如: [学号,平均成绩:组函数avg(成绩)] from 从哪张表中查找数据,如:[涉及到成绩:成绩表score] where 查询条件,如:[b.课程号= ...
- 干货!常见的SQL面试题:经典50例!
来自:CSDN,作者:sh_c_2450957609 链接:https://blog.csdn.net/u010565545/article/details/100785261 SQL在数据分析中举足 ...
- 面试阿里必知的SQL面试题 100讲
SQL 常见面试题解析 内容简介 本文介绍并分析了 100 道常见 SQL 面试题,主要分为三个模块:SQL 初级查询.SQL 高级查询以及数据库设计与开发.文章内容结构如下图所示: 本文主要使用三个 ...
- 数据库基础SQL知识面试题一
数据库基础SQL知识面试题一 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如标题所示,本篇博客主要介绍基础知识的面试题.大家可以用来测试面试者的技术水平,由于个人水平所限,难免 ...
最新文章
- 链路负载均衡的链路和NAT地址保持
- 算法学习之路|完美数列
- HTML areamap标签及在实际开发中的应用
- 分页请求json数据_pyspider抓取虎嗅网文章数据
- JavaScript中的箭头函数
- C# js调用winform方法,C# JS与winform通信
- 详解CockroachDB事务处理系统
- Java 中 == 和equals()方法的不同点
- register关键字-1
- 计算机VFP输出方式有哪几种,VFP导出数据的方法大全
- jsp页面中javascript嵌套java代码段
- 奇*信往期秋招笔试知识点总结
- ‘function‘ object has no attribute ‘splits‘(Torchtext加载数据集出现的问题)
- 《心经》经典段落及释义
- 微信小程序请求php文件报错,微信小程序wx.request请求数据报错
- java 工作业绩_个人年度工作总结报告java
- Android 5.1 长按power键流程分析
- 对抗训练-smart 论文阅读笔记
- python中init什么意思_python中init是什么
- ESP32-总体理解