我正在尝试按小时将数据类型为TimeStamp的时间戳列分组。
这适用于按天分组:
SELECT * FROM INFO
GROUP BY
DATE(timestamp)
我曾尝试按小时分组以下内容:
SELECT * FROM INFO
GROUP BY
HOUR(timestamp)
但这给了我错误:没有这样的功能:HOUR:
我曾经问过类似的问题,但是使用的是DateTime,而不是TimeStamp。
另外,我想知道如何按任何时间段进行分组,例如按24小时,按48小时,按周等等。
答案 0 :(得分:0)
SQLite中有一种方法strftime,通常group by将与诸如(count,sum,avg ...)之类的Aggregate函数一起使用。
TestDLL
CREATE TABLE T(
Id INT,
`timestamp` timestamp
);
insert into t values (1,'2018-01-01 01:01:12');
insert into t values (2,'2018-01-01 02:02:12');
insert into t values (3,'2018-01-01 01:01:12');
这里是strftime
方法的示例。
查询
SELECT COUNT(Id),strftime ('%H',timestamp) hour
FROM T
GROUP BY strftime ('%H',timestamp)