题目:

有个网店,每个顾客访客访问任何一个店铺的任何一个商品时都会产生一条访问日志,访问日志存储的表名为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信息相关推荐

  1. 求每个店铺访问次数top3的访客信息

    题目: 有50W个京东店铺,每个顾客访客访问任何一个店铺的任何一个商品时都会产生一条访问日志, 访问日志存储的表名为Visit,访客的用户id为user_id,被访问的店铺名称为shop,数据如下: ...

  2. 算法面试必备-----数据库与SQL面试题

    算法面试必备-----数据库与SQL面试题 算法面试必备-----数据库与SQL面试题 1.数据库理论问题 问题:什么是数据库,数据库管理系统,数据库系统,数据库管理员? 问题:什么是元组,码,候选码 ...

  3. 作业题:京东店铺访问数

    题目: (1) var sql ="""|select shop_name,count(distinct user_id)|from t_shop|group by sh ...

  4. 30道经典SQL面试题讲解(11-20)

    本篇节选自书籍<对比Excel,轻松学习SQL数据分析>一书,主要讲解数据分析面试中常见的30道SQL面试题.1-10题见:30道经典SQL面试题讲解(1-10) 11 行列互换 现在我们 ...

  5. sql面试题问答题_SQL面试问答

    sql面试题问答题 SQL interview questions are asked in almost all interviews because database operations are ...

  6. SQL面试题:经典50例

    SQL基础知识整理 select 查询结果,如: [学号,平均成绩:组函数avg(成绩)] from 从哪张表中查找数据,如:[涉及到成绩:成绩表score] where 查询条件,如:[b.课程号= ...

  7. 干货!常见的SQL面试题:经典50例!

    来自:CSDN,作者:sh_c_2450957609 链接:https://blog.csdn.net/u010565545/article/details/100785261 SQL在数据分析中举足 ...

  8. 面试阿里必知的SQL面试题 100讲

    SQL 常见面试题解析 内容简介 本文介绍并分析了 100 道常见 SQL 面试题,主要分为三个模块:SQL 初级查询.SQL 高级查询以及数据库设计与开发.文章内容结构如下图所示: 本文主要使用三个 ...

  9. 数据库基础SQL知识面试题一

    数据库基础SQL知识面试题一 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 如标题所示,本篇博客主要介绍基础知识的面试题.大家可以用来测试面试者的技术水平,由于个人水平所限,难免 ...

最新文章

  1. 链路负载均衡的链路和NAT地址保持
  2. 算法学习之路|完美数列
  3. HTML areamap标签及在实际开发中的应用
  4. 分页请求json数据_pyspider抓取虎嗅网文章数据
  5. JavaScript中的箭头函数
  6. C# js调用winform方法,C# JS与winform通信
  7. 详解CockroachDB事务处理系统
  8. Java 中 == 和equals()方法的不同点
  9. register关键字-1
  10. 计算机VFP输出方式有哪几种,VFP导出数据的方法大全
  11. jsp页面中javascript嵌套java代码段
  12. 奇*信往期秋招笔试知识点总结
  13. ‘function‘ object has no attribute ‘splits‘(Torchtext加载数据集出现的问题)
  14. 《心经》经典段落及释义
  15. 微信小程序请求php文件报错,微信小程序wx.request请求数据报错
  16. java 工作业绩_个人年度工作总结报告java
  17. Android 5.1 长按power键流程分析
  18. 对抗训练-smart 论文阅读笔记
  19. python中init什么意思_python中init是什么
  20. ESP32-总体理解

热门文章

  1. 用matlab移动平均法,移动平均法的matlab程序怎么写
  2. Mac上 关闭下载时自动解压缩功能(图)
  3. 反思:中国不容乐观的工业化前景
  4. 计算机科学、软件工程、信息工程专业!计算机专业该如何选择!
  5. linux下文件的大小到底多大
  6. CentOS7安装以及卸载
  7. 解决OBS黑屏的问题.
  8. 笔记3:关于VBS整人代码
  9. 取消idea显示在windows任务栏右下角消息提示图标设置
  10. wxid如何通过某平台转微信号