sql查询当天8点到次日7点的数据 按小时分隔
时间: 2024-02-24 14:54:08 浏览: 40
假设你的查询语句是针对一个名为table_name的表,并且该表中包含名为time的列,请尝试以下SQL语句:
```
SELECT HOUR(time) AS hour, COUNT(*) AS count
FROM table_name
WHERE time BETWEEN DATE_FORMAT(NOW(), '%Y-%m-%d 08:00:00') AND DATE_ADD(DATE_FORMAT(NOW(), '%Y-%m-%d 07:00:00'), INTERVAL 1 DAY)
GROUP BY HOUR(time)
ORDER BY HOUR(time);
```
这个查询语句会查找在当天早上8点到次日早上7点之间的数据,并按小时分隔计数。查询结果会返回一个包含小时和计数的列表,按照小时的顺序排序。请注意,这里假设你想查询的是当前日期。如果你想查询其他日期,需要相应地修改查询语句中的NOW()函数。如果你的表结构不同,请相应地修改查询语句。
相关问题
sql server 查询昨天8点到今天8点的数据
你可以使用以下 SQL 查询语句来查询昨天8点到今天8点的数据:
```
SELECT *
FROM your_table
WHERE your_date_column >= DATEADD(hour, 8, DATEADD(day, DATEDIFF(day, 0, GETDATE()) - 1, 0))
AND your_date_column < DATEADD(hour, 8, DATEADD(day, DATEDIFF(day, 0, GETDATE()), 0))
```
这个查询语句使用了 `DATEADD` 和 `DATEDIFF` 函数来计算昨天和今天的日期,并将其与指定的时间(8点)组合在一起。同时,`your_table` 是你要查询的表,`your_date_column` 是表中包含日期和时间的列。
sqlserver查询当天0点0分到23点59分的数据怎么写
你可以使用如下语句来查询当前日期的 0 点 0 分到 23 点 59 分之间的数据:
SELECT * FROM your_table_name
WHERE your_date_column BETWEEN DATEADD(day, DATEDIFF(day, 0, GETDATE()), 0) AND DATEADD(ms, -3, DATEADD(day, DATEDIFF(day, 0, GETDATE()) + 1, 0))
注意,要将 "your_table_name" 和 "your_date_column" 替换成你实际使用的表名和时间字段名。这个查询语句适用于 Microsoft SQL Server。