力扣1435-制作会话柱状图

表:Sessions

+---------------------+---------+ | Column Name | Type | +---------------------+---------+ | session_id | int | | duration | int | +---------------------+---------+ session_id 是该表主键 duration 是用户访问应用的时间, 以秒为单位

你想知道用户在你的 app 上的访问时长情况。因此你决定统计访问时长区间分别为"[0-5>""[5-10>""[10-15>""15 minutes or more"的会话数量,并以此绘制柱状图。

写一个解决方案来报告(bin, total)

返回结果无顺序要求

结果格式如下所示。

示例 1:

输入:Sessions 表: +-------------+---------------+ | session_id | duration | +-------------+---------------+ | 1 | 30 | | 2 | 199 | | 3 | 299 | | 4 | 580 | | 5 | 1000 | +-------------+---------------+输出:+--------------+--------------+ | bin | total | +--------------+--------------+ | [0-5> | 3 | | [5-10> | 1 | | [10-15> | 0 | | 15 or more | 1 | +--------------+--------------+解释:对于 session_id 1,2 和 3 ,它们的访问时间大于等于 0 分钟且小于 5 分钟。 对于 session_id 4,它的访问时间大于等于 5 分钟且小于 10 分钟。 没有会话的访问时间大于等于 10 分钟且小于 15 分钟。 对于 session_id 5, 它的访问时间大于等于 15 分钟。

解法思路:

1. 单位换算

首先,题目给出的 duration 是秒,但区间是分钟。为了计算方便且避免除法带来的精度问题,我们先把分钟换算成秒:

  • 0-5 分钟:[0, 300) 秒

  • 5-10 分钟:[300, 600) 秒

  • 10-15 分钟:[600, 900) 秒

  • 15 分钟以上:>= 900 秒

2. 核心难点:零值保留

题目的潜台词是:即使某个区间没有数据,也必须显示该区间,且数量为 0。
如果使用常规的 GROUP BY + CASE WHEN,一旦某个区间没数据,那个区间直接就不会出现在结果里(行丢失),导致答案错误。

3. 策略选择:分而治之 (Divide and Conquer)

既然只有 4 个固定的类别,我们可以把这个问题拆解成 4 个独立的小问题:

  • Q1: 统计 [0, 300) 的数量(如果没有就是 0)

  • Q2: 统计 [300, 600) 的数量

  • ...
    最后用胶水 (UNION ALL) 把它们粘在一起。

代码:

SELECT '[0-5>' AS bin, COUNT(*) AS total sql FROM Sessions WHERE duration >= 0 AND duration < 300 UNION ALL SELECT '[5-10>' AS bin, COUNT(*) AS total FROM Sessions WHERE duration >= 300 AND duration < 600 UNION ALL SELECT '[10-15>' AS bin, COUNT(*) AS total FROM Sessions WHERE duration >= 600 AND duration < 900 UNION ALL SELECT '15 or more' AS bin, COUNT(*) AS total FROM Sessions WHERE duration >= 900;

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

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

相关文章

吐血推荐!9大AI论文网站测评:研究生科研写作全攻略

吐血推荐&#xff01;9大AI论文网站测评&#xff1a;研究生科研写作全攻略 AI论文写作工具测评&#xff1a;精准选择助力科研高效推进 在当前学术研究日益数字化的背景下&#xff0c;研究生群体在论文撰写过程中面临诸多挑战&#xff0c;如文献检索效率低、格式规范难掌握、内容…

服装公司软件ERP是什么?关键功能与行业应用有哪些?

服装公司软件ERP的定义及发展历程 服装公司软件ERP是一种专为服装行业设计的管理系统&#xff0c;旨在提升企业的运营效率。这个系统综合了生产、采购、仓储和财务等多个功能模块&#xff0c;通过促进信息流动来解决信息孤岛的问题。最初&#xff0c;企业在管理上面临许多挑战&…

Bound Service Account Token Improvements

Bound Service Account Token Improvements 详细介绍Bound Service Account Token&#xff08;绑定服务账户令牌&#xff09;是 Kubernetes 针对传统服务账户令牌安全缺陷推出的增强机制&#xff0c;通过短期有效、对象绑定、受众限制和自动轮换等特性&#xff0c;显著提升了容…

AI Agent在企业数据质量管理与治理自动化中的应用

AI Agent在企业数据质量管理与治理自动化中的应用 关键词:AI Agent、企业数据质量管理、数据治理自动化、数据质量评估、数据清洗 摘要:本文深入探讨了AI Agent在企业数据质量管理与治理自动化中的应用。首先介绍了相关背景,包括目的范围、预期读者等内容。接着阐述了AI Age…

灰狼优化算法(GWO)改进物理信息神经网络(PINN) - 光伏功率预测附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室&#x1f447; 关注我领取海量matlab电子书和数学建模资料 &#x1f34…

k8s 各版本变更记录

https://kubernetes.io/zh-cn/releases/_print/

函数指针 + 结构体 = C 语言的“对象模型”?——从 C 到 C++ / Java 的本质统一

一、为什么 C 语言“没有对象”&#xff0c;却处处是对象&#xff1f;很多人说&#xff1a;C 是面向过程&#xff0c;C / Java 是面向对象。但你只要看过 Linux 内核、驱动、HAL、FFmpeg、libc&#xff0c;就会发现&#xff1a;&#x1f449; 到处都是 struct 函数指针。比如经…

2022蓝帽杯计算机取证

[蓝帽杯 2022 初赛]计算机取证[蓝帽杯 2022 初赛]计算机取证_1现对一个windows计算机进行取证&#xff0c;请您对以下问题进行分析解答。 从内存镜像中获得taqi7的开机密码是多少&#xff1f;F:\QZBS\volatility_2.6_win64_standalone\volatility_2.6_win64_standalone\volatil…

Node.js用AsyncResource追踪异步操作

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 Node.js异步追踪的革命&#xff1a;深度解析AsyncResource的实战应用目录Node.js异步追踪的革命&#xff1a;深度解析AsyncResou…

1. 2025 年终总结 PPT 愁死人?这 3 款 AI

又到了年终总结的时候&#xff0c;职场人都在为制作一份高质量的年终总结 PPT 发愁。多少个夜晚&#xff0c;我们对着空白的 PPT 页面发呆&#xff0c;不知道该如何搭建框架&#xff0c;内容写得干巴巴&#xff0c;设计出来的 PPT 又毫无美观度可言。好不容易完成一份&#xff…

麻雀算法SSA 差分算法DE GA遗传算法的光伏阵列参数辨识附matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室&#x1f447; 关注我领取海量matlab电子书和数学建模资料 &#x1f34…

【数据集】中国杰出青年名单数据集(1994-2024年)

数据简介&#xff1a;国家杰出青年科学基金是我国在基础研究领域为优秀青年学者提供的最高层级人才资助项目。该基金专项用于支持已取得显著科研成果的青年学者&#xff0c;资助其自主开展创新性研究工作&#xff0c;着力培养一批能够跻身世界科技前沿的学术领军人才。本数据集…

圆度误差的神经网络评定及测量不确定度研究附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室&#x1f447; 关注我领取海量matlab电子书和数学建模资料 &#x1f34…

【SCI创新】ASL-QPSO-SVM时序预测算法研究——基于动态非线性收缩扩张因子、正余弦惯性权重与莱维-贪婪融合策略附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室&#x1f34a;个人信条&#xff1a;格物致知,完整Matlab代码及仿真咨询…

数字员工如何通过AI销冠系统与AI提效软件系统推动企业智能化升级

数字员工在企业中扮演着愈发重要的角色&#xff0c;尤其是在优化业务流程和降低成本方面。通过引入AI销冠系统&#xff0c;数字员工不仅能够提升工作效率&#xff0c;还能有效减少企业在人工服务上的投入。例如&#xff0c;数字员工借助该系统可以实现全天候客户响应&#xff0…

数字员工是什么?AI销冠系统与AI提效软件系统的价值在哪里?

数字员工作为一种创新的AI销售工具&#xff0c;正逐渐成为企业优化业务流程和降低运营成本的重要手段。通过自动化处理各类销售任务&#xff0c;数字员工能够显著提升工作效率。AI销冠系统的引入&#xff0c;使得企业在客户沟通中更加高效。这个系统能够自主完成客户外呼、满意…

【SCI二区IEEE复现】基于混合有限集模型预测控制(FCS-MPC)的模块化多电平换流器(MMC)整流电路仿真模型附Simulink仿真

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室&#x1f34a;个人信条&#xff1a;格物致知,完整Matlab代码及仿真咨询…

Agent Skills (Claude Skills) 详细攻略,一篇文章精通

Agent Skills 最近非常的火&#xff0c;起初&#xff0c;它还只是 Claude 中一个小功能模块&#xff0c;就在最近两个月&#xff0c;越来越多的人觉得 Skills 非常的好用。所以 Codex、Cursor、Opencode 等 AI 编程工具&#xff0c;陆续加入了对 Agent Skills 的支持。 2025年1…

基于AHP-EWM正态云模型的初中地理教学评价附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 &#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室 &#x1f447; 关注我领取海量matlab电子书和数学建模资料 &#x1…

【SCI复现】高比例可再生能源并网如何平衡灵活性与储能成本?虚拟电厂多时间尺度调度及衰减建模附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 &#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知,完整Matlab代码及仿真…