力扣2298. 周末任务计数

一、来源

2298、周末任务计数

表: Tasks

复制代码
+-------------+------+
| Column Name | Type |
+-------------+------+
| task_id     | int  |
| assignee_id | int  |
| submit_date | date |
+-------------+------+
task_id 是该表的主键(具有唯一值的列)。
此表中的每一行都包含任务 ID、委托人 ID 和提交日期。

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

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

任意顺序 返回结果表。

返回结果格式如以下示例所示。

示例 1:

复制代码
输入: 
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 个任务是在工作日提交的。

二、分析

本题比较简单,只需要掌握好weekday函数的用法即可。

三、代码

sql 复制代码
select sum(weekday(submit_date) in (5, 6)) weekend_cnt,
       sum(weekday(submit_date) in (0, 1, 2, 3, 4)) working_cnt
from tasks;

四、总结

weekday函数的用法是传入一个日期,返回这个日期为周几,0代表周一、1代表周二......;

然后就对表中的submit_date字段进行判断,如果为5或者6,代表的就是周六和周末,反之则为工作日。

注意:在sum函数中的条件如果成立则会返回1,反之返回0,然后sum计算出所有的1进行计算,即为符合条件的个数。

相关推荐
2301_775639893 分钟前
mysql修改字段长度是否影响数据_隐式转换与字符集限制分析
jvm·数据库·python
无心水5 分钟前
【Hermes:MCP 与工具实战】29、数据库 MCP 实战:MySQL/PostgreSQL/SQLite 自然语言查询
数据库·mysql·postgresql·openclaw·养龙虾·hermes·honcho
ㄟ留恋さ寂寞9 分钟前
怎样修改提示“表已空”的空状态界面_Empty State插画替换
jvm·数据库·python
m0_5913647320 分钟前
SQL提升开发效率_使用CTE重构嵌套子查询逻辑
jvm·数据库·python
Elnaij21 分钟前
MySQL数据库入门到进阶!!(1)——在云服务器中安装MySQL(centos)
数据库·mysql
多加点辣也没关系23 分钟前
数据结构与算法|第十七章:贪心算法
数据结构·算法·贪心算法
多加点辣也没关系24 分钟前
数据结构与算法|第十四章:排序算法(上)— 比较类排序
数据结构·算法·排序算法
2401_8314194428 分钟前
JavaScript 中实现基于分组的前端产品筛选功能
jvm·数据库·python
yexuhgu33 分钟前
CSS实现盒子阴影扩散效果_调整box-shadow的模糊半径
jvm·数据库·python
笨笨饿35 分钟前
#72_聊聊I2C以及他们的变体
linux·c语言·网络·stm32·单片机·算法·个人开发