当前位置: 首页 > news >正文

LeetCode--2298. 周末任务计数

文章目录

  • 1 题目描述
  • 2 测试用例
  • 3 解题思路

1 题目描述

表: Tasks

+-------------+------+
| Column Name | Type |
+-------------+------+
| task_id     | int  |
| assignee_id | int  |
| submit_date | date |
+-------------+------+

task_id 是该表的主键(具有唯一值的列)。
此表中的每一行都包含任务 ID、委托人 ID 和提交日期。

编写一个解决方案来报告:

  • 在周末 (周六,周日) 提交的任务的数量 weekend_cnt,以及
  • 工作日内提交的任务数 working_cnt

任意顺序 返回结果表。

2 测试用例

输入:

Tasks 表:

+---------+-------------+-------------+
| task_id | assignee_id | submit_date |
+---------+-------------+-------------+
| 1       | 1           | 2022-06-13  |
| 2       | 6           | 2022-06-14  |
| 3       | 6           | 2022-06-15  |
| 4       | 3           | 2022-06-18  |
| 5       | 5           | 2022-06-19  |
| 6       | 7           | 2022-06-19  |
+---------+-------------+-------------+

输出:

+-------------+-------------+
| weekend_cnt | working_cnt |
+-------------+-------------+
| 3           | 3           |
+-------------+-------------+

解释:
Task 1 是在周一提交的。
Task 2 是在周二提交的。
Task 3 是在周三提交的。
Task 4 是在周六提交的。
Task 5 是在周日提交的。
Task 6 是在周日提交的。
3 个任务是在周末提交的。
3 个任务是在工作日提交的。

3 解题思路

  1. 使用 WEEKDAY 计算 submit_date 的是星期几,WEEKDAY(submit_date) + 1 计算得到的数字就是星期几,1 对应星期一,以此类推 6 对应星期六, 7 对应星期天,然后使用 sum 统计工作日 和 周末的订单数量
select sum(if(WEEKDAY(submit_date) + 1 >= 6, 1, 0)) as weekend_cnt,  sum(if(WEEKDAY(submit_date) + 1 <= 5, 1, 0))  as working_cnt  
from Tasks

执行结果

+-----------+-----------+
|weekend_cnt|working_cnt|
+-----------+-----------+
|3          |3          |
+-----------+-----------+
http://www.lryc.cn/news/302376.html

相关文章:

  • 从零开始学习Netty - 学习笔记 - NIO基础 - ByteBuffer: 简介和基本操作
  • Chatgpt润色文章“咒语”
  • 【OpenGL教程2】 简单案例介绍Python 中的 OpenGL
  • 评估方法:CMMI/能力成熟度模型集成
  • Gin框架: HTML模板渲染之配置与语法详解
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • Day36 贪心算法 part05
  • C#计算矩形面积:通过定义结构 vs 通过继承类
  • 【复现】Panalog大数据日志审计系统 RCE漏洞_51
  • react【五】redux/reduxToolkit/手写connext
  • .NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2
  • jsp计算机线上教学系统Myeclipse开发mysql数据库web结构java编程计算机网页项目
  • RabbitMQ的高可用机制
  • 人机协同中的贝叶斯和马尔可夫
  • STM32的SDIO
  • Unity中的Lerp插值的使用
  • 年后上来面了一个来字节要求月薪23K,明显感觉他背了很多面试题...
  • 代码随想录算法训练营DAY20 | 二叉树 (8)
  • 2023年全球软件开发大会(QCon北京站2023)2月:核心内容与学习收获(附大会核心PPT下载)
  • 键盘输入4个数,从小到大排序
  • Day11-Linux系统iNode及链接知识及企业按哪里精讲
  • C# Thread的使用
  • ETL数据集成工具DataX、Kettle、ETLCloud特点对比
  • OpenAI:Sora视频生成模型技术报告(中文)
  • Java基于微信小程序的乐室预约小程序,附源码
  • Linux常见指令(一)
  • 大端和小端传输字节完整版
  • 华为23年9月笔试原题,巨详细题解,附有LeetCode测试链接
  • ES实战--性能提升
  • 解决ModuleNotFoundError: No module named ‘pysqlite2‘