字节安全风控数开实习一面凉经
针对简历的项目提问,
介绍一下mapreduce的过程,
spark的优势,
数据倾斜的解决方案,
数仓分层的好处,
介绍一下flink,
如何实现精准一次
sql题:现在有一张表存的是这两个字段,student_id, score 数据格式如下,lihua01,['math':98 english':87, chinese':99].
写一个hivesql实现查询每个学科排名第三名的同学
sql题:hivesql实现查询今日订单量是过去7日订单量均值的2倍的商家id
#牛客AI配图神器#
介绍一下mapreduce的过程,
spark的优势,
数据倾斜的解决方案,
数仓分层的好处,
介绍一下flink,
如何实现精准一次
sql题:现在有一张表存的是这两个字段,student_id, score 数据格式如下,lihua01,['math':98 english':87, chinese':99].
写一个hivesql实现查询每个学科排名第三名的同学
sql题:hivesql实现查询今日订单量是过去7日订单量均值的2倍的商家id
#牛客AI配图神器#
全部评论

校友啊,数开看看我们这里呀,我可以帮你tui
SELECT
subject,
student_id,
score
FROM (
SELECT
student_id,
subject,
score,
ROW_NUMBER() OVER (PARTITION BY subject ORDER BY score DESC) as rn
FROM (
SELECT
student_id,
kv.key as subject,
kv.value as score
FROM
student_score
LATERAL VIEW explode(score) kv AS key, value
) t1
) t2
WHERE rn = 3;
SELECT
shop_id
FROM (
SELECT
shop_id,
SUM(CASE WHEN order_date = CURRENT_DATE THEN 1 ELSE 0 END) AS today_cnt,
SUM(CASE WHEN order_date >= date_sub(CURRENT_DATE, 7) AND order_date < CURRENT_DATE THEN 1 ELSE 0 END) / 7.0 AS avg_7_cnt
FROM orders
WHERE order_date >= date_sub(CURRENT_DATE, 7) -- 近7天及今天
AND order_date <= CURRENT_DATE
GROUP BY shop_id
) t
WHERE today_cnt >= 2 * avg_7_cnt
;
WITH
-- 1. 统计今日订单量
today_orders AS (
SELECT
shop_id,
COUNT(*) AS today_cnt
FROM
orders
WHERE
order_date = CURRENT_DATE
GROUP BY
shop_id
),
-- 2. 统计过去7天(不含今天)日均订单量
last7_orders AS (
SELECT
shop_id,
COUNT(*) / 7.0 AS avg_7_cnt
FROM
orders
WHERE
order_date >= date_sub(CURRENT_DATE, 7)
AND order_date < CURRENT_DATE
GROUP BY
shop_id
)
-- 3. 筛选今日订单量为过去7天均值2倍的商家
SELECT
t.shop_id,
t.today_cnt,
l.avg_7_cnt
FROM
today_orders t
JOIN last7_orders l
ON t.shop_id = l.shop_id
WHERE
t.today_cnt >= 2 * l.avg_7_cnt
;
相关推荐
点赞 评论 收藏
分享