常见大厂面试题(SQL)01

news2024/12/25 12:44:11

知乎问答最大连续回答问题天数大于等于3天的用户及其对应等级

1.描述

现有某乎问答创作者信息表author_tb如下(其中author_id表示创作者编号、author_level表示创作者级别,共1-6六个级别、sex表示创作者性别):

author_id   

author_level

sex

101

6

m

102

1

f

103

1

m

104

3

m

105

4

f

106

2

f

107

2

m

108

5

f

109

6

f

110

5

m

创作者回答情况表answer_tb如下(其中answer_date表示创作日期、author_id指创作者编号、issue_id指回答问题编号、char_len表示回答字数):

answer_date

author_id

issue_id

char_len

2023-11-01

101

E001

150

2023-11-01

101

E002

200

2023-11-01

102

C003

50

2023-11-01

103

P001

35

2023-11-01

104

C003

120

2023-11-01

105

P001

125

2023-11-01

102

P002

105

2023-11-02

101

P001

201

2023-11-02

110

C002

200

2023-11-02

110

C001

225

2023-11-02

110

C002

220

2023-11-03

101

C002

180

2023-11-04

109

E003

130

2023-11-04

109

E001

123

2023-11-05

108

C001

160

2023-11-05

108

C002

120

2023-11-05

110

P001

180

2023-11-05

106

P002

45

2023-11-05

107

E003

56

请你统计最大连续回答问题的天数大于等于3天的用户及其等级(若有多条符合条件的数据,按author_id升序排序),以上例子的输出结果如下:

author_id

author_level

days_cnt

101

6

3

数据导入

drop database if exists db_1;
create database db_1;
use db_1;

drop table if exists author_tb;
CREATE TABLE author_tb
(
    author_id    int(10) NOT NULL,
    author_level int(10) NOT NULL,
    sex          char(10) NOT NULL
);
INSERT INTO author_tb   
VALUES 
    (101, 6, 'm'),
    (102, 1, 'f'),
    (103, 1, 'm'),
    (104, 3, 'm'),
    (105, 4, 'f'),
    (106, 2, 'f'),
    (107, 2, 'm'),
    (108, 5, 'f'),
    (109, 6, 'f'),
    (110, 5, 'm');

drop table if exists answer_tb;
CREATE TABLE answer_tb
(
    answer_date date     NOT NULL,
    author_id   int(10) NOT NULL,
    issue_id    char(10) NOT NULL,
    char_len    int(10) NOT NULL
);

INSERT INTO answer_tb
VALUES 
    ('2021-11-1', 101, 'E001', 150),
    ('2021-11-1', 101, 'E002', 200),
    ('2021-11-1', 102, 'C003', 50),
    ('2021-11-1', 103, 'P001', 35),
    ('2021-11-1', 104, 'C003', 120),
    ('2021-11-1', 105, 'P001', 125),
    ('2021-11-1', 102, 'P002', 105),
    ('2021-11-2', 101, 'P001', 201),
    ('2021-11-2', 110, 'C002', 200),
    ('2021-11-2', 110, 'C001', 225),
    ('2021-11-2', 110, 'C002', 220),
    ('2021-11-3', 101, 'C002', 180),
    ('2021-11-4', 109, 'E003', 130),
    ('2021-11-4', 109, 'E001', 123),
    ('2021-11-5', 108, 'C001', 160),
    ('2021-11-5', 108, 'C002', 120),
    ('2021-11-5', 110, 'P001', 180),
    ('2021-11-5', 106, 'P002', 45),
    ('2021-11-5', 107, 'E003', 56);

select * from author_tb;

select * from answer_tb;

解题思路

实现代码

with t1 as (
    -- 1 去重
    select
        author_id,
        answer_date,
        -- 2 排名
        row_number() over (partition by author_id order by answer_date) as rn,
        -- 3 差值 = 日期 - 排名
        date_sub(answer_date, interval (row_number() over (partition by author_id order by answer_date)) day) as diff
    from answer_tb
    group by answer_date, author_id
)
select
    author_id,
    (select t2.author_level from author_tb t2 where t2.author_id=t1.author_id) author_level,
    count(1) days
from t1
group by author_id, diff
having count(1)>=3
order by author_id asc
;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1620532.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于STM32的DAC简易信号发生器设计(HAL库)

前言:本文为手把手教学制造 DAC 简易信号发生器的教程,本教程的 MCU 使用 STM32F103ZET6 。以 HAL 库的 DAC 函数作为代码基础进行编程,使得信号发生器可以产生各种类型的信号波,包括:方波、三角波、正弦波和噪声波&am…

Oracle解析exp、imp及常见的问题

前言 在工作中经常需要不同数据库的导入和导出。exp和imp可以实现数据的迁移。 exo会转储产生对应的二进制文件,里面包括数据的定义信息、数据内容等,即为dump文件。 下面是使用exp和imp的一些场景 exp和imp主要有4中模式: 1)数据库模式 数据库模式也就是我们说的全备…

Pytorch 计算深度模型的大小

计算模型大小的方法 卷积 时间复杂度 与 空间复杂度 的计算方式: C 通道的个数,K卷积核大小,M特征图大小,C_l-1是输入通道的个数,C_l是输出通道的个数 1 模型大小 MB 计算模型的大小的原理就是计算保存模型所需要…

sprinboot+人大金仓配置

1. .yml 配置 spring:datasource:type: com.alibaba.druid.pool.DruidDataSource#driverClassName: dm.jdbc.driver.DmDriver## todo 人大金仓driverClassName: com.kingbase8.Driverdruid:## todo 人大金仓master:url: jdbc:kingbase8://111.111.111.111:54321/dbname?cu…

区块链钱包开发——专业区块链开发

随着区块链技术的发展,钱包开发成为了一项至关重要的任务。本文将探讨区块链钱包开发的重要性,分析当前面临的挑战,并展望未来的发展趋势。 一、区块链钱包概述 区块链钱包是一种用于存储和管理数字货币的软件工具。它为用户提供了一个安全的…

巧用断点设置查找bug【debug】

默认设置的断点,当代码运行到断点处MCU就会被挂起,从而停在断点处。 但在某些情况下,如调试FCCU时,如果设置断点,MCU停下后将会导致 FCCU 配置WDG超时。或在调试类似电机控制类的应用时,不适当的断点会导 致…

中科院1区TOP ! 影响因子8.5,稳定检索33年口碑老刊,另附同领域SCI,录用快,手慢无!

【SciencePub学术】今天小编给大家带来了一本计算机类的高分优刊解读,隶属于Elsevier出版社,JCR1区,中科院1区TOP,影响因子高达8.5,领域相符的学者可考虑! Expert Systems With Applications 1 期刊概况 …

代码随想录算法训练营第四十八天| LeetCode198.打家劫舍、213.打家劫舍II、337.打家劫舍III

一、LeetCode198.打家劫舍(线性) 题目链接/代码讲解/视频讲解:https://programmercarl.com/0198.%E6%89%93%E5%AE%B6%E5%8A%AB%E8%88%8D.html 状态:已解决 1.思路 这个题的关键就在于想清楚如何抉择某个房间偷不偷的问题。根据题…

Axure RP 9 for Mac/win:打造极致交互体验的原型设计神器

在数字化浪潮席卷全球的今天,原型设计作为产品开发的关键环节,其重要性不言而喻。Axure RP 9,作为一款专为设计师和开发者打造的原型设计软件,以其出色的交互设计能力和高效的协作体验,赢得了广大用户的青睐。 Axure …

不同语种下的应用该如何测试?

在测试的过程中,我们有时候会遇到不同语种的页面,通常涉及到国际化(Internationalization, i18n)和本地化(Localization, l10n),在测试的过程中如何保障不同语种软件或应用质量,值得…

xgp会员一年多少钱?xgp一个月多少钱?微软商店xgp会员价格指南

xgp是xbox游戏平台。xgp是类似于steam、epic等,拥有丰富游戏资源的平台。该平 台的全称为“XBox Game Pass”,俗称为“西瓜皮”。xgp是会员订阅模式,开启会员后,所有游戏资源都为你开放。pc版的,第一个月10港币&#x…

1688代采系统:解决全球化采购难题的技术创新

跨境寻源通(1688代采系统)是面向全球化采购市场的一项技术创新,它旨在帮助企业更高效、便捷和安全地进行跨境采购。以下是这项服务的几个关键特点: 多语言支持:跨境采购往往面临语言障碍问题,而跨境寻源通…

XxlJob外网访问

Xxl-Job使用外网访问 服务注册中心配置 ### web server.port8088 server.servlet.context-path/xxl-job-admin### actuator management.server.base-path/actuator management.health.mail.enabledfalse### resources spring.mvc.servlet.load-on-startup0 spring.mvc.static…

大功率回馈式直流电子负载箱优点和应用

大功率回馈式直流电子负载箱是先进的电力设备,它能够模拟各种复杂的负载情况,对电源进行测试和校准。这种设备具有许多优点,被广泛应用于各种领域。 大功率回馈式直流电子负载箱具有高精度和高稳定性。它能够精确地模拟各种负载情况&#xff…

CISC和RISC

CISC(Complex Instruction Set Computer)和RISC(Reduced Instruction Set Computer)是两种不同的计算机架构哲学,它们在指令集的设计、性能优化、硬件复杂度以及应用领域上有着根本的区别。 CISC(复杂指令…

皮带机巡检解决方案

在化工行业中、皮带机人工巡检存在的疲劳安全、巡检质量、数据分析等问题,通过以智能巡检机器人为中心的设备生命周期运维管理系统,完成对皮带机的巡检巡逻和排查预警,有效降低人员和设备的安全隐患,更助力企业运维水平和智能化作…

极快!宝藏EI,2-4周录用,接受范围广!

本周投稿推荐 SSCI • 2/4区经管类,2.5-3.0(录用率99%) SCIE(CCF推荐) • 计算机类,2.0-3.0(最快18天录用) SCIE(CCF-C类) • IEEE旗下,1/2…

后端程序员利用 AI 给网站制作专业 favicon

看看你的 Chrome 浏览器顶部的标签页,每个标签页前面有一个小小的图标,这个就是 favicon,如果你将网页保存到收藏夹,前面也会是这个小图标。这个图标有时候就是网站的 Logo,有时候也不太一样。 上面截图中&#xff0c…

leetcode 每日一题目 (树的直径 +DFS的深刻理解)

如下是题目的简单描述: 给你一棵二叉树的根节点 root ,二叉树中节点的值 互不相同 。另给你一个整数 start 。在第 0 分钟,感染 将会从值为 start 的节点开始爆发。 每分钟,如果节点满足以下全部条件,就会被感染&…

代码随想录算法训练营第四十九天| LeetCode121. 买卖股票的最佳时机、122.买卖股票的最佳时机II

一、LeetCode121. 买卖股票的最佳时机 题目链接/文章讲解/视频讲解:https://programmercarl.com/0121.%E4%B9%B0%E5%8D%96%E8%82%A1%E7%A5%A8%E7%9A%84%E6%9C%80%E4%BD%B3%E6%97%B6%E6%9C%BA.html 状态:已解决 1.思路 学了双指针的同学可能会下…