【LeetCode: SQL专题 : SQL132 每个题目和每份试卷被作答的人数和次数 + 合并查询】

一次实时数据链路丢数排查:从 MQTT 队列积压到 SQL 统计开销 本文通过一次实时数据链路压测,排查了从MQTT到ClickHouse的端到端数据丢失问题。核心方法是为每条消息添加序号,建立独立观察点(MQTT订阅端、Kafka消费者),结合转发服务阶段统计与线程栈分析,定位到下游处理速度不足源于Druid SQL合并统计的高开销。优化措施包括关闭SQL合并、扩容代理队列、增强生产侧失败处理,并验证15分钟内实现全链路对账一致,显著缓解积压与丢包。关键收获:数据可对账、明确各阶段“成功”定义、关注客户端队列状态。 阅读详情

在这里插入图片描述

🚀 算法题 🚀

🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀
🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨
🌲 作者简介:硕风和炜,优快云-Java领域优质创作者🏆,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享💎💎💎
🌲 恭喜你发现一枚宝藏博主,赶快收入囊中吧🌻
🌲 人生如棋,我愿为卒,行动虽慢,可谁曾见我后退一步?🎯🎯

🚀 算法题 🚀

在这里插入图片描述
在这里插入图片描述

🚩 题目链接

⛲ 题目描述

现有试卷作答记录表exam_record(uid用户ID, exam_id试卷ID, start_time开始作答时间, submit_time交卷时间, score得分):
在这里插入图片描述

题目练习表practice_record(uid用户ID, question_id题目ID, submit_time提交时间, score得分):
在这里插入图片描述

请统计每个题目和每份试卷被作答的人数和次数,分别按照"试卷"和"题目"的uv & pv降序显示,示例数据结果输出如下:
在这里插入图片描述
解释:“试卷”有3人共练习3次试卷9001,1人作答3次9002;“刷题”有3人刷5次8001,有2人刷2次8002

🌟 求解思路&实现代码&运行结果


⚡ 合并查询

🥦 求解思路
  1. 核心目标:统计每套试卷和每道题目的以下两个指标:

    • 作答人数(uv:统计不同用户的 DISTINCT uid)

    • 作答次数(pv:统计总记录数 COUNT(*))

  2. 数据拆分与合并:由于数据分散在试卷作答表(exam_record)和题目练习表(practice_record)中,需要分别统计后合并结果:

    • 试卷维度:从 exam_record 按 exam_id 分组统计

    • 题目维度:从 practice_record 按 question_id 分组统计

    • 合并结果:用 UNION 将两部分结果合并(保证字段顺序和类型一致)

  3. 试卷部分统计:

    • 重命名 exam_id 为 tid 统一输出字段名

    • 按 exam_id 分组统计作答人数和次数

    • 按 uv(人数)降序,pv(次数)降序排序

  4. 题目部分统计:

    • 重命名 question_id 为 tid 统一输出字段名

    • 按 question_id 分组统计作答人数和次数

    • 排序规则与试卷部分一致

  5. 合并结果:通过 UNION 合并两部分结果(自动去重,但此处无重复)

  6. 有了基本的思路,接下来我们就来通过代码来实现一下。

🥦 实现代码
SELECT
    *
FROM
    (
        SELECT
            exam_id AS tid,
            COUNT(DISTINCT exam_record.uid) uv,
            COUNT(*) pv
        FROM
            exam_record
        GROUP BY
            exam_id
        ORDER BY
            uv DESC,
            pv DESC
    ) t1
UNION
SELECT
    *
FROM
    (
        SELECT
            question_id AS tid,
            COUNT(DISTINCT practice_record.uid) uv,
            COUNT(*) pv
        FROM
            practice_record
        GROUP BY
            question_id
        ORDER BY
            uv DESC,
            pv DESC
    ) t2;


🥦 运行结果

在这里插入图片描述


💬 共勉

最后,我想和大家分享一句一直激励我的座右铭,希望可以与大家共勉!

在这里插入图片描述

在这里插入图片描述

Agent Memory 工程实践 :用 Go + PostgreSQL 构建可证明、可撤销的长期记忆 状态对外含义必需证据revoked删除事务已提交;新权威复核排除旧代主库 Epoch 与删除请求在线存储和派生载体完成清理每个 carrier 的 purge receipt备份、日志、导出和模型服务等已到期或完成适用清理保留策略与外部系统记录“24 小时”只能是经验证的产品目标,不能泛化成法律或物理擦除保证。API 应返回请求 ID、当前状态、已覆盖与未覆盖范围,而非一个含混的success。删除事件到达后,标记相关工作集失效。 阅读详情

相关推荐

密码子偏好性分析实战指南:从codonW到EMBOSS-CUSP的完整流程解析

本文详细解析了密码子偏好性分析的完整流程,从基础概念到实战操作,涵盖codonW和EMBOSS-CUSP工具的使用技巧。通过RSCU、ENC、CAI等关键参数分析,帮助研究者理解基因表达调控规律,优化外源基因表达效率,适用于分子生物学和合成生物学研究。

weixin_33737774的博客 571

Flink SQL 连接器实战:MySQL Source、Flink CDC 与 JDBC Sink 全解析

提供有界流读取,适合批处理和维表场景,简单直接但无法感知变更。MySQL CDC提供无界流读取,通过「全量快照 + binlog 增量」的方式实现实时捕获,是实时数仓的核心入口,但需要 MySQL 侧正确配置 binlog 和权限。JDBC Sink负责结果回写,关键在于区分仅插入流和更新流,更新流必须依赖主键完成 upsert。掌握这三者的差异,本质上就是掌握了 Flink 中「有界与无界」「追加与更新」这两组最基本的语义。

2401_83857914的博客 414

网闸的基本配置

本文详细介绍了网闸的基本配置流程,包括物理连接与初始化、网络基础配置、核心数据交换策略配置、安全增强配置、管理与运维以及测试验证等关键步骤。网闸通过在物理隔离环境下建立"数据摆渡通道",实现特定业务数据的安全交换。配置时应遵循最小化、单向化、内容控制和审计原则,确保只开放必要通道,优先采用单向传输,进行内容安全检查并记录操作日志。不同厂商网闸的配置界面可能不同,但核心逻辑是相通的。

qq_39980997的博客 1839

数据库乐观锁深度解析:MySQL、PostgreSQL 实战 + Spring Boot 集成指南

Oracle 提供了ORA_ROWSCN伪列(System Change Number),记录最后修改行的 SCN,类似 PostgreSQL 的xmin。实践中通常仍使用 version 字段方案,逻辑与 MySQL 完全相同。-- Oracle:通过 ORA_ROWSCN 实现乐观锁-- 更新时比对 SCN// 自定义注解// AOP 切面@Aspect@Component@Slf4jtry {

yjc_1111的专栏 389

自动驾驶仿真:Carsim、NI和VTD联合仿真课题二

文章目录前言一、设备配置1、硬件需求2、网络配置二、Carsim工程配置1、创建工程2、创建数据库3、参数配置三、VTD工程配置1、创建工程四、Veristand工程配置1、创建工程五、运行程序 前言 上篇文章《Carsim、NI和VTD联合仿真课题一》简单地介绍了三者之间的联合框架,以及NI与VTD之间简单的组包与拆包指导。这篇文章将要讲述的是如何将三个软件联合起来,如何设置软件参数,用最简单的方法把仿真车开起来。 一、设备配置 1、硬件需求 注:真正的做智能驾驶仿真项目,至少需要两台电脑,一台实时机

zataji的博客 1万+

5.2 自抗扰控制 (ADRC)

自抗扰控制(Active Disturbance Rejection Control, ADRC)是由韩京清研究员于1998年提出的一种不依赖被控对象精确数学模型的新型控制技术[reference:0]。其核心思想是将系统的模型不确定性、内部参数摄动以及外部负载变化等所有影响统一定义为“总扰动”,通过一个名为扩张状态观测器(ESO)的环节对其进行实时估计并主动补偿,从而实现动态解耦和强鲁棒性。

技术工作者 1173

XSS 过滤器 vs SQL 注入防护:自动化测试平台中的

通过分析 AutoTest Platform 的源码可以看出,在实际开发中合理运用字符转义、参数化查询和白名单策略能够有效减少 Web 安全风险。对于非科班出身或刚刚入门的技术人员来说,理解这些安全措施的具体实现方式是非常重要的一步。建议读者可以尝试以下几个方向深入学习:1. 学习 Jsoup 库及 Whitelist API 的用法,并尝试自定义一套适用于自身项目的 HTML 清理规则;

后台模板 222

单细胞多组学数据整合分析实战:从原始数据到跨平台合并

本文详细介绍了单细胞多组学数据整合分析的实战流程,从原始数据处理到跨平台合并分析。通过Seurat和Harmony等工具的应用,帮助研究者有效解决批次效应问题,保留真实的生物学信号。文章包含代码示例和常见问题解决方案,特别适合需要进行单细胞合并分析的研究人员参考。

weixin_30752699的博客 88

智能问数(Text2SQL)的两大方案及实施成本

现在流行挂个 RAG 知识库,把表结构、字段名、业务术语全向量化存起来,每次查询时现去检索相关片段喂给大模型。只做一件事,把口语化的自然语言转成有规则的自然语言,也就是“规范文本”。然后规则引擎根据预先配置好的业务词典和映射规则,把规范文本编译成 100% 准确的 SQL。核心工作量在配置业务词典,把用户爱说的“华北区”“在途订单”这些词,跟数据库表和字段对上。关键是,规则是写死的、确定的。SQL 怎么生成、逻辑怎么组合,全都写在规则里。出了问题,查规则、改词典、补映射,改完就知道对不对,没有不确定性。

Raqsoft 150

抖音a_bogus参数逆向避坑指南:从环境检测到XHR请求的全流程解析

本文详细解析了抖音a_bogus参数在v1.0.1.19版本下的逆向工程全流程,重点介绍了如何通过PyV8Env框架进行有效的补环境操作,以绕过严格的环境检测。内容涵盖从环境初始化、关键事件触发到模拟XHR请求获取签名的完整步骤,并提供了可运行的Python代码示例和常见检测点的避坑指南,帮助开发者稳定生成有效的a_bogus参数。

tech5的博客 598

基于STM32+华为云设计的智慧农业灌溉系统(2023升级版)(158)

本项目设计一种基于STM32的智慧农业监测系统。该系统能够检测空气温度、湿度、光强度和土壤湿度等关键指标,并自动调节浇水量,实现作物生长环境的精细化管理。同时,本项目还支持本地LCD屏幕数据显示和通过ESP8266上传数据到华为云物联网平台,同时搭建流媒体服务器实现摄像头远程监控。最重要的是,本项目将利用Qt开发Android手机APP,使用户可以远程查看监测情况,了解农作物生成情况。

1万+

sqlsugar入门

sqlsugar入门

bjzhang75的博客 212

搞懂 ABAP 里的 Language Settings:登录语言、文本环境语言与 sy-langu 的真实含义

SAP系统中语言设置并非单一字段决定,而是由登录语言(logon language)和文本环境语言(text environment language)共同控制。登录语言在会话期间固定,而文本环境语言可通过SET LOCALE语句修改,影响文本处理、排序、异常显示等行为。开发中需区分两者:使用CL_ABAP_SYST方法获取登录语言,通过sy-langu或GET LOCALE获取当前文本环境语言。语言环境切换应谨慎处理并尽快恢复,避免影响会话中其他程序。在多语言场景下,正确处理语言设置对确保文本相关功能正常

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1306

PostgreSQL 日报| pg_basebackup 提速至 23Gbps(11 月 5 日)

这一案例展示了按需、可弹性扩展的数据库供给如何满足 AI 辅助开发场景的需求,也说明 Neon 在多智能体与多用户并…Neon 的实际使用数据显示,AI agent 在选择工具时,即便内部逻辑建议使用 CLI,仍会优先选择 MCP server。然而,批评人士指出,该倡议同样服务于 OpenAI 自身的商业利益,意在将公司议程嵌入重大选举周期前的政治生态。用户可将其与平台上 70 余个其他模型配合使用,直接调用 Lakehouse 中的现有数据,构建受治理的 AI 应用与智能体。每个哈希条目存储两个有…

IvorySQL的博客 227

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

SonnetDB 5.0 正式发布:增强 SQL 与事务,开放九模型 MCP 读写

SonnetDB 5.0 正式发布,系统介绍相对 4.0 的 SQL、事务、精确类型、九模型 MCP、.NET 接入、查询优化、可靠性修复与升级步骤。

麦壳饼 346

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

PostgreSQL慢查询定位与优化

本文聚焦数据库性能优化闭环:发现、定位、优化、验证。强调应以“总执行成本”(total_exec_time)而非单次耗时为优化优先级。通过 pg_stat_statements 聚合分析资源消耗,结合慢查询日志与 auto_explain 深入执行计划,精准定位瓶颈。优化遵循三优先级:修复统计信息 → 重写SQL → 加索引,并以 EXPLAIN (ANALYZE, BUFFERS) 验证效果,确保优化真实有效。

源码获取 | 运行部署 | 定制二开修改,如果回复不及时请耐心等待,请见谅。 142

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

PostgreSQL 日报|子表 CHECK 约束恢复标记错误(11 月 2 日)

另外两个补丁 v5-0002 和 v5-0003 针对 PG18 中的同类问题,但涉及一个权衡:pg_dump 在恢复时可能将子表继承的 CHECK 约束的 pg_constraint.conislo…Rune 专注于 AI 驱动的物流解决方案,此次收购标志着 Salesforce 在国防领域的野心进一步扩大,也是其借助并购提升 AI 竞争力整体战略的重要一步。与此同时,市场对 AI 行业高额支出可持续性的担忧持续升温,资本压力与投资者的审慎情绪正为这家全球知名 AI 公司的前景蒙上阴影。

IvorySQL的博客 194

4-1 PostgreSQL 索引体系总览:B-tree|GIN|GiST|BRIN|SP-GIST

很多新手拿到 PG 就无脑加 B-tree,遇到 JSONB、空间、时序数据直接踩坑。PG 不是只有 B-tree,5 种主流索引各司其职,**没有万能索引,匹配查询模式才是核心**。本文带你看懂每一类索引的原理、适用场景、优缺点、SQL 示例,最后重点讲清楚:索引不是越多越好。

zhangjw34的专栏 338

DeepSeek总结的优化 PostgreSQL 聚合:扩展能做什么?

这在部分聚合无济于事的场景中表现得最为明显:当聚合只是为查询准备数据时,处理大量行流,并在输出时产生一个并不小很多的组集合以及在这些组上计算的聚合。我们感兴趣的正是 SupportRequestSimplifyAggref:在其中,计划器传递一个指向聚合节点 Aggref 的指针,并准备用我们返回的任何东西替换它。将 ressortgroupref 字段清零的那一行是必要的,以移除在列 x 上设置的“已排序”标记:不再有排序,所以标记必须被清除,否则稍后对计划树的一致性检查会发现不一致并以错误中止查询。

l1t的专栏 211

SQL Pagination and Limiting Results using Oracle 21c

本文基于Oracle 21c在八域中台万亿级交易数据场景下,系统探讨分页与结果限制的优化实践。针对深翻页性能、OFFSET漂移、高并发一致性等痛点,对比分析OFFSET/FETCH与键集分页(keyset/seek)的适用性,提出分区裁剪、复合键锚点、UTC时区统一、多币种归一化处理等关键策略。结合自检验证,实现稳定、快速、用户友好的分页体验,为高并发、大容量国际业务系统提供可落地的技术方案。

Geovin Du Dream Park 294

Spark 3.1.3 集群搭建 + Spark-SQL 整合 Hive 记录

本文记录Spark3.1.3集群部署,包含Standalone、On Yarn两种调度模式,并完成Spark-SQL与Hive元数据整合。Standalone适合理解架构,生产主流采用On Yarn,配套History Server实现任务日志回溯。Spark-SQL交互式客户端仅支持yarn-client,文中提供开窗TopN查询示例,同时介绍broadcast hint优化join。部署重点坑点:Yarn内存检查易杀容器、shuffle分区默认200不适合小数据测试。

dongziwen1的博客 110

SQL中的students是表名还是文本?关键字、标识符、常量与注释规则

表名加单引号为何变成文本?区分SQL中的标识符与常量,再看分号、引号和注释边界如何影响mysql客户端执行。 #MySQL #关键字 #标识符 #常量 #SQL注释 #SQL

tydldd的专栏 137

DeepSeek总结的如何在 PostgreSQL 中删除一张 4 TB 的表

如何在 PostgreSQL 中删除一张 4 TB 的表2026-10-31 · 19 分钟 · Radim Marek目录GitLab 有一个关于删除错误东西的公开故事。2017 年 1 月,一位工程师试图恢复复制,擦除了一个他们认为是备库上的数据目录。它实际上在主库上。他们事后发布的尸检报告仍然是关于数据库故障的写得较好的文章之一。上周在瓦伦西亚的 PGConf.EU 上,GitLab 的几个人带着相反的问题来找我。他们有一张表,4 TB,位于一个带有十个副本的主库上,他们想要它消失,有意的,尽可能减少

l1t的专栏 646

16-SqlSugar多库ConfigId与按实体选连接

通过 ConfigId 注册多库连接,结合实体特性标记库类型,实现按实体自动选择数据库。启动时扫描实体并警告未声明库的类型,运行时通过 GetConnectionScope 按逻辑名获取连接,确保连接生命周期与请求绑定。避免业务代码硬编码连接串,提升可维护性与安全性,但需注意跨库写操作无本地事务,应合理设计数据一致性策略。

CAthlete的博客 265

亲测丝滑,体验跃迁|AIIData通过集成开源项目SqlRest,SQL 一键变身可管控共享 API,开源能力再升级!

AllData 数据中台集成开源项目SqlRest构建API共享平台,将其作为数据服务对外输出的核心引擎。SqlRest 聚焦于把各类结构化数据快速转化为标准化 SQL API,支持灵活的 SQL 查询封装、参数化调用、结果格式适配,能够便捷对接多源底层数据源。

AllDataDC的博客 235

PG18 开发者与 SQL 新特性在 IvorySQL 5.6 实测

本文实测的这几族 SQL 新特性——uuidv7、虚拟生成列、加时段约束(PG18 新增),以及 PG17 就加了的 UUID 解析函数——在 IvorySQL 5.6 上全部原样可用,且都经过 5432/1521 双端口对照实测。时段约束是 PG 模式独有的 Oracle 模式支持要等下一个版本。

IvorySQL的博客 193
上一篇: 【LeetCode: 面试变体: 236. 二叉树的最近公共祖先 + 数组 + 递归】
下一篇: 【LeetCode: SQL专题 : SQL97 返回顾客名称和相关订单号以及每个订单的总和 + 联表查询】
硕风和炜
硕风和炜 优质创作者: Java技术领域 优质创作者: Java技术领域
博客等级 码龄7年 2万+粉丝 1024原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

硕风和炜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值