SQL练习
Tiramisu Lv
是一个自认为很有趣很可爱的女程序员!叮呤
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
超详细解析:统计某品类的店铺销售额占比前20%
假设现有三张表如下,使用SQL查询某品类销售额占比在前20%的店铺名称和排名。category表seller表sales表思路: 计算某品类的店铺销售额降序排名。 在1的基础上计算每个品类的店铺累积销售额占比。 select b.ProductName,b.price,b.sales,b.SellerNick,b.categoryName,b.销售额,row_number()over() 排名 from (select a.*,cume_dist()ov原创 2022-04-16 08:56:50 · 1523 阅读 · 0 评论 -
超详细解析:使用SQL语句查询连续登陆7天的用户信息
假设有如下表tb_user,现输出连续登陆7天的用户id方法一思路:1、因为每天用户登录次数可能不止一次,所以需要先将用户每天的登录日期去重。2、再用row_number() over(partition by _ order by _)函数将用户id分组,按照登陆时间进行排序。3、计算登录日期减去第二步骤得到的结果值,用户连续登陆情况下,每次相减的结果都相同。4、按照id和日期分组并求和,筛选大于等于7的即为连续7天登陆的用户。-- 方法一-- 第一步:用户登录日期原创 2022-04-16 08:37:18 · 9540 阅读 · 3 评论 -
超详细解析:用sql查找连续登陆7天或者登陆天数最多的用户id
# 方法一:查询连续登陆7天的用户id和登陆天数-- 第一步:用户登录日期去重select distinct date(date) as 日期,id from tb_user;-- 第二步:用row_number()计数select *,row_number() over(PARTITION by id order by 日期) as cum from (select DISTINCT date(date) as 日期,id from tb_user)a;-- 第三步:日期减去计数值得...原创 2022-03-25 15:22:54 · 6464 阅读 · 0 评论
分享