从SQL中选择第n条记录
我有一个数据库,其中的数据以固定的时间间隔记录,即5分钟,即24小时,如下表所示从SQL中选择第n条记录,sql,sql-server,vb.net,Sql,Sql Server,Vb.net,我有一个数据库,其中的数据以固定的时间间隔记录,即5分钟,即24小时,如下表所示 Date and Time Value 2016-09-17 14:00:00 25.26 2016-09-17 14:05:00 24.29 2016-09-17 14:10:00 25.22 2016-09-17 14:20:00 25.10 2016-09-17 23:55:00 2
Date and Time Value
2016-09-17 14:00:00 25.26
2016-09-17 14:05:00 24.29
2016-09-17 14:10:00 25.22
2016-09-17 14:20:00 25.10
2016-09-17 23:55:00 20.21
我想使用SQL查询显示每1小时的读数,有些读数可能会丢失预期的输出
Date and Time Value
2016-09-17 14:00:00 25.26
2016-09-17 15:00:00 27.29
2016-09-17 16:00:00 28.12
2016-09-17 17:00:00 22.11
我的一些阅读资料可能丢失了。像
Date and Time Value
2016-09-17 14:35:00 25.26
这个读数可能丢失了
请建议对相同的SQL查询
SELECT t1.DateCol,
t1.Value
FROM yourTable t1
INNER JOIN
(
SELECT MIN(DateCol) AS firstDate
FROM yourTable
GROUP BY FORMAT(DateCol, 'dd/MM/yyyy hh')
) t2
ON t1.DateCol = t2.firstDate
如果您希望每15分钟分组一次,您可以尝试:
GROUP BY CONCAT(FORMAT(DateCol, 'dd/MM/yyyy hh'),
FLOOR(DATEPART(MINUTE, DateCol) / 15))
如果您希望每15分钟分组一次,您可以尝试:
GROUP BY CONCAT(FORMAT(DateCol, 'dd/MM/yyyy hh'),
FLOOR(DATEPART(MINUTE, DateCol) / 15))
SQLServer 2012请考虑另一种方法,尝试以零和秒读取零行,而不是读取每条第n条记录。您使用哪种DBMS?SQLServer 2012请考虑另一种方法,尝试以分钟和秒为单位读取零的行,而不是每N次读取一次记录。感谢它工作正常,但仍有一个疑问,如果间隔不是小时,请说我想在任何时间查看间隔可能是15分钟、30分钟等等on@Lalit我更新了我的答案。例如,对于15分钟,您可以在分组中添加一个四分之一小时的术语。感谢它工作正常,但仍然有一个疑问,如果间隔不是小时,那么我想在任何时间看到间隔可能是15分钟、30分钟等等on@Lalit我更新了我的答案。例如,在15分钟内,您可以将一个术语添加到一刻钟的分组中。