JOOQ统计前7天内每天的数量(按年、季、月、周、日、时统计)
时间: 2023-09-16 12:13:03 浏览: 50
以下是使用 JOOQ 进行统计前7天内每天数量的示例代码。
```java
// 获取当前时间
LocalDateTime now = LocalDateTime.now();
// 计算开始时间
LocalDateTime startTime = now.minusDays(6);
// 按年统计
Result<Record2<Integer, Integer>> yearCount = dsl.select(
year(TABLE.DATE_TIME).as("year"),
count().as("count"))
.from(TABLE)
.where(TABLE.DATE_TIME.between(startTime, now))
.groupBy(year(TABLE.DATE_TIME))
.fetch();
// 按季度统计
Result<Record2<Integer, Integer>> quarterCount = dsl.select(
quarter(TABLE.DATE_TIME).as("quarter"),
count().as("count"))
.from(TABLE)
.where(TABLE.DATE_TIME.between(startTime, now))
.groupBy(quarter(TABLE.DATE_TIME))
.fetch();
// 按月份统计
Result<Record2<Integer, Integer>> monthCount = dsl.select(
month(TABLE.DATE_TIME).as("month"),
count().as("count"))
.from(TABLE)
.where(TABLE.DATE_TIME.between(startTime, now))
.groupBy(month(TABLE.DATE_TIME))
.fetch();
// 按周统计
Result<Record2<Integer, Integer>> weekCount = dsl.select(
week(TABLE.DATE_TIME).as("week"),
count().as("count"))
.from(TABLE)
.where(TABLE.DATE_TIME.between(startTime, now))
.groupBy(week(TABLE.DATE_TIME))
.fetch();
// 按日统计
Result<Record2<Date, Integer>> dayCount = dsl.select(
date(TABLE.DATE_TIME).as("day"),
count().as("count"))
.from(TABLE)
.where(TABLE.DATE_TIME.between(startTime, now))
.groupBy(date(TABLE.DATE_TIME))
.fetch();
// 按小时统计
Result<Record2<LocalTime, Integer>> hourCount = dsl.select(
hour(TABLE.DATE_TIME).as("hour"),
count().as("count"))
.from(TABLE)
.where(TABLE.DATE_TIME.between(startTime, now))
.groupBy(hour(TABLE.DATE_TIME))
.fetch();
```
其中,`TABLE` 是要统计的数据库表,`DATE_TIME` 是表中的时间字段。以上代码分别计算了前7天内的年、季、月、周、日、时的数量,并将结果存储在 `yearCount`、`quarterCount`、`monthCount`、`weekCount`、`dayCount`、`hourCount` 中。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)