MySQL时间查询:获取今天、本周、上周、本月和上个月的数据
作者:mobiledu2502860983 | 来源:互联网 | 2024-12-23 15:40
本文详细介绍了如何使用MySQL查询特定时间段的数据,包括今天、本周、上周、本月和上个月的数据。适合对MySQL查询感兴趣的读者。
在 MySQL 中,查询特定时间段的数据是常见的需求。以下是几种常用的 SQL 语句,用于获取今天、本周、上周、本月和上个月的数据。 ### 查询今天的数据 ```sql SELECT name, submittime FROM enterprise WHERE DATE_FORMAT(submittime, '%Y-%m-%d') = DATE_FORMAT(NOW(), '%Y-%m-%d'); ``` ### 查询当前周的数据 ```sql SELECT name, submittime FROM enterprise WHERE YEARWEEK(DATE_FORMAT(submittime, '%Y-%m-%d')) = YEARWEEK(NOW()); ``` ### 查询上周的数据 ```sql SELECT name, submittime FROM enterprise WHERE YEARWEEK(DATE_FORMAT(submittime, '%Y-%m-%d'), 1) = YEARWEEK(DATE_SUB(CURDATE(), INTERVAL 7 DAY), 1); ``` ### 查询当前月份的数据 ```sql SELECT name, submittime FROM enterprise WHERE DATE_FORMAT(submittime, '%Y-%m') = DATE_FORMAT(NOW(), '%Y-%m'); ``` ### 查询距离当前6个月的数据 ```sql SELECT name, submittime FROM enterprise WHERE submittime BETWEEN DATE_SUB(NOW(), INTERVAL 6 MONTH) AND NOW(); ``` ### 查询上个月的数据 ```sql SELECT name, submittime FROM enterprise WHERE DATE_FORMAT(submittime, '%Y-%m') = DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 MONTH), '%Y-%m'); ``` #### 按周统计的注意事项 默认情况下,`YEARWEEK()` 函数以周日作为一周的开始。如果你需要以周一或周六作为一周的开始,可以通过调整参数来实现。例如,以周一作为一周的开始: ```sql SELECT YEARWEEK(DATE_ADD(now(), INTERVAL 1 DAY)); ``` #### 获取每周的第一天和最后一天 - 当前周的第一天: ```sql SELECT DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) + 1 DAY); ``` - 当前周的最后一天: ```sql SELECT DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) - 5 DAY); ``` #### 获取每月的第一天和最后一天 - 当前月的第一天: ```sql SELECT CONCAT(DATE_FORMAT(LAST_DAY(NOW()), '%Y-%m-'), '01'); ``` - 当前月的最后一天: ```sql SELECT LAST_DAY(NOW()); ``` #### 获取每季度的第一天和最后一天 - 当前季度的第一天: ```sql SELECT CONCAT(DATE_FORMAT(LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM CURDATE()), 1) + INTERVAL QUARTER(CURDATE()) * 3 - 3 MONTH), '%Y-%m-'), '01'); ``` - 当前季度的最后一天: ```sql SELECT LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM CURDATE()), 1) + INTERVAL QUARTER(CURDATE()) * 3 - 1 MONTH); ``` #### UNIX 时间戳与日期之间的转换 - 将 UNIX 时间戳转换为日期: ```sql SELECT FROM_UNIXTIME(1156219870); ``` - 将日期转换为 UNIX 时间戳: ```sql SELECT UNIX_TIMESTAMP('2006-11-04 12:23:00'); ``` #### 其他常用的时间查询 - 查询昨天的数据: ```sql SELECT * FROM 表名 WHERE TO_DAYS(NOW()) - TO_DAYS(时间字段名) <= 1; ``` - 查询近7天的数据: ```sql SELECT * FROM 表名 WHERE DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(时间字段名); ``` - 查询近30天的数据: ```sql SELECT * FROM 表名 WHERE DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(时间字段名); ``` 以上内容涵盖了 MySQL 中常见的时间段查询方法,希望能帮助您更高效地处理时间相关的数据。
推荐阅读
目录一、salt-job管理#job存放数据目录#缓存时间设置#Others二、returns模块配置job数据入库#配置returns返回值信息#mysql安全设置#创建模块相关 ...
[详细]
蜡笔小新 2024-12-22 18:53:43
本题探讨了在一个有向图中,如何根据特定规则将城市划分为若干个区域,使得每个区域内的城市之间能够相互到达,并且划分的区域数量最少。题目提供了时间限制和内存限制,要求在给定的城市和道路信息下,计算出最少需要划分的区域数量。 ...
[详细]
蜡笔小新 2024-12-23 18:42:12
本文详细探讨了HTML表单中GET和POST请求的区别,包括它们的工作原理、数据传输方式、安全性及适用场景。同时,通过实例展示了如何在Servlet中处理这两种请求。 ...
[详细]
蜡笔小新 2024-12-23 18:09:59
This pull request introduces the ability to provide comprehensive paragraph configurations directly within the Create Note and Create Paragraph REST endpoints, reducing the need for additional configuration calls. ...
[详细]
蜡笔小新 2024-12-23 13:32:41
本文探讨了使用C#在SQL Server和Access数据库中批量插入多条数据的性能差异。通过具体代码示例,详细分析了两种数据库的执行效率,并提供了优化建议。 ...
[详细]
蜡笔小新 2024-12-23 13:03:32
本文详细解析了Java中hashCode()和equals()方法的实现原理及其在哈希表结构中的应用,探讨了两者之间的关系及其实现时需要注意的问题。 ...
[详细]
蜡笔小新 2024-12-23 02:59:15
本文详细介绍了优化DB2数据库性能的多种方法,涵盖统计信息更新、缓冲池调整、日志缓冲区配置、应用程序堆大小设置、排序堆参数调整、代理程序管理、锁机制优化、活动应用程序限制、页清除程序配置、I/O服务器数量设定以及编入组提交数调整等方面。通过这些技术手段,可以显著提升数据库的运行效率和响应速度。 ...
[详细]
蜡笔小新 2024-12-22 16:20:33
本文深入探讨了SQL数据库中常见的面试问题,包括如何获取自增字段的当前值、防止SQL注入的方法、游标的作用与使用、索引的形式及其优缺点,以及事务和存储过程的概念。通过详细的解答和示例,帮助读者更好地理解和应对这些技术问题。 ...
[详细]
蜡笔小新 2024-12-22 14:43:35
本文介绍如何使用MFC和ADO技术调用SQL Server中的存储过程,以查询指定小区在特定时间段内的通话统计数据。通过用户界面选择小区ID、开始时间和结束时间,系统将计算并展示小时级的通话量、拥塞率及半速率通话比例。 ...
[详细]
蜡笔小新 2024-12-22 14:22:36
本文深入探讨了白盒和黑盒监控的概念,以及它们在系统监控中的应用。通过详细分析基础监控和业务监控的不同采集方法,结合四个黄金指标的解读,帮助读者更好地理解和实施有效的监控策略。 ...
[详细]
蜡笔小新 2024-12-22 14:02:29
本文探讨了如何在 F# Interactive (FSI) 中通过 AddPrinter 和 AddPrintTransformer 方法自定义类型(尤其是集合类型)的输出格式,提供了详细的指南和示例代码。 ...
[详细]
蜡笔小新 2024-12-22 12:09:23
本文详细介绍了如何在 MySQL 中授予和撤销用户权限。包括创建用户、赋予不同级别的权限(如表级、数据库级、服务器级)、使权限生效、查看用户权限以及撤销权限的方法。此外,还提供了常见错误及其解决方法。 ...
[详细]
蜡笔小新 2024-12-23 08:13:45
本教程详细介绍了如何使用 TensorFlow 2.0 构建和训练多层感知机(MLP)网络,涵盖回归和分类任务。通过具体示例和代码实现,帮助初学者快速掌握 TensorFlow 的核心概念和操作。 ...
[详细]
蜡笔小新 2024-12-22 19:56:15
本文详细介绍了如何在 MySQL 数据库中进行表结构的修改,包括添加字段、修改字段类型和重命名列名等操作,旨在为开发者提供实用的技术参考。 ...
[详细]
蜡笔小新 2024-12-22 16:34:35
本文详细介绍了在XAMPP环境中如何修改Apache和MySQL的默认端口号,并确保WordPress能够正常访问。同时,提供了针对Go语言社区和Golang开发者的相关建议。 ...
[详细]
蜡笔小新 2024-12-22 13:14:54
mobiledu2502860983
这个家伙很懒,什么也没留下!