mysql如何查询一段时间记录

文 / @UTHEME

MySQL是一种常用的关系型数据库管理系统,它有很多强大的查询功能。本文将围绕怎样查询一段时间内的记录展开。

一、查询24小时内的记录

要查询24小时内的记录,可以使用以下语句:

```
SELECT video_id, COUNT(id) AS count
FROM `rec_down`
WHERE UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(add_time) <= 86400
GROUP BY video_id
ORDER BY count DESC;
```

其中,`rec_down`是要查询的数据表,`video_id`是视频的ID,`add_time`是视频添加时间。该语句的作用是查询24小时内下载次数最多的视频ID和下载次数。

二、查询N天内的记录

要查询N天内的记录,可以使用以下语句:

```
SELECT *
FROM table
WHERE TO_DAYS(NOW()) - TO_DAYS(时间字段) <= N;
```

其中,`table`是要查询的数据表,`时间字段`是需要进行比较的时间字段,`N`是需要查询的天数。该语句的作用是查询N天内的所有记录。

三、查询今天的记录

要查询今天的记录,可以使用以下语句:

```
SELECT *
FROM table
WHERE DATE(时间字段) = DATE(NOW());
```

其中,`table`是要查询的数据表,`时间字段`是需要进行比较的时间字段。该语句的作用是查询今天的所有记录。

四、查询一周/一个月内的记录

要查询一周/一个月内的记录,可以使用以下语句:

```
-- 查询一周内的记录
SELECT *
FROM table
WHERE DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(时间字段);

-- 查询一个月内的记录
SELECT *
FROM table
WHERE DATE_SUB(CURDATE(), INTERVAL 1 MONTH) <= date(时间字段);
```

其中,`table`是要查询的数据表,`时间字段`是需要进行比较的时间字段。该语句的作用是查询一周/一个月内的所有记录。

五、查询最近N天/周/月的记录

要查询最近N天/周/月的记录,可以使用以下语句:

```
-- 查询最近30天内的记录
SELECT something
FROM tbl_name
WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30;

-- 查询最近一周内的记录
SELECT *
FROM table
WHERE DATE_SUB(CURDATE(), INTERVAL 1 WEEK) <= date(时间字段);

-- 查询最近一个月内的记录
SELECT *
FROM table
WHERE DATE_SUB(CURDATE(), INTERVAL 1 MONTH) <= date(时间字段);
```

其中,`tbl_name`是要查询的数据表,`something`是要查询的内容,`date_col`是需要进行比较的时间字段。该语句的作用是查询最近N天/周/月内的所有记录。

六、总结

本文介绍了MySQL如何查询一段时间内的记录,包括查询24小时内的记录、查询N天内的记录、查询今天的记录、查询一周/一个月内的记录和查询最近N天/周/月的记录。以上语句是常用的查询语句,读者可以根据自己的需求进行调整和使用。

添加UTHEME为好友
扫码添加UTHEME微信为好友
· 分享WordPress相关技术文章,主题上新与优惠动态早知道。
· 微信端最大WordPress社群,限时免费入群。