sql练习

sql练习
我有两张表,一张是用户和卡的IDMapping表(客户ID,卡号),
另一张是客户近一个月的消费明细表(卡号,交易金额,交易时间等),
现在需要取出最近3笔消费都大于500的客户,给到业务发送短信,请问sql怎么写?

先把大于消费500的客户筛选出来,然后按照用户分组(group by),最后count(*)>=3,是这个意思吗?

select uid, rank over(parition by uid, order shijina desc ) num from xxxx where 金额 >=500 group uid having num>=3

我理解最近三笔 是连续的…

按消费时间排序 用 lead 或者lag 去取三条 再判断就可以了吧

sql练习
点击日志表:Tencent_video_click_online
包括字段:用户名vuid;日期date;时间time(unix时间戳)平台platfrom(移动端为21)
需求:已知同一个用户在移动端连续连词点击时间间隔不高于2秒 ,则可能为黑产行为,请筛选出21年3月所有有可能为黑产行为的点击记录

select vuid,time_unix,time_unix1 from
(select time_unix,lag(time_unix) over (partition by vuid order by time_unix) as time_unix1,vuid from tencent_video_click_online where date = ‘202103’ ) t where (time_unix1 - time_unix1) <= 2;

sql练习
长视频类型维度表:Tencent_video_cid_cate
包含字段:品类category(电视剧、电影);影片名称cid_nm;影片类型cate(存储形式为青春,武侠,悬疑等)

| 日期 | 品类 | 电影名称 | 类型
20210301 | 电视剧 | 陈情令 | 玄幻;古装
20210302 | 电影 | 长歌行 | 爱情;古代历史;武侠
需求:最新分区内所有影片类型为2中的专辑数
在这里插入图片描述
同一ID 下面null的用上面有的填充?
在这里插入图片描述
在这里插入图片描述
case when 当前为null or lag默认值的 then lag()的上次的 else 当前的

用户行为表tracking_log,大概字段有(user_id‘用户编号’,opr_id‘操作编号’,log_time‘操作时间’),示例数据如下:
user_id opr_id log_time
1001 A 2021-03-01 12:00:00
1001 B 2021-03-01 13:00:00
1002 A 2021-03-01 12:00:00
1003 A 2021-03-01 12:00:00
1003 C 2021-03-01 13:00:00
1004 A 2021-03-01 12:00:00
1004 B 2021-03-02 12:00:00
1004 A 2021-03-02 12:00:00
需求:
1)统计每天的访客数和他们的平均操作次数。
2)统计每天符合以下条件的用户数:A操作之后是B操作,AB操作必须相邻。

第一题avg() over
第二题还是lag 只不过是分组的时候,按user_id分组, 然后外面套一次,限制第一个是A 第二个是B

在这里插入图片描述
这个问题想咨询下大佬们 关于字符串或者日期类型过滤的问题
第一种
第二种涉及到字符串的计算。如果date是分区字段。那么sql执行的时候会全表扫描

数据表TableA结构为 shop_id,lon,lat,cnt(代表本店交易数),lon为经度,lat为维度
要求找到属于活跃商圈的shop_id.
活跃商圈指本shop周围n公里内,所有shop的平均cnt大于m.
距离可以用函数 distance(lon1,lat1,lon2,lat2)来计算

大佬们,可以问一下这个题怎么用sql写吗?

在这里插入图片描述

一文读懂SQL执行计划
https://mp.weixin.qq.com/s/8YG-FHrmufuzUJfcRlpi1g

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值