SQL选择和分组一段时间(时间戳)

我想按一段时间(月,周,日,小时……)选择计数和组.因此,例如,我想选择行数并将它们分组24小时.

我的表创建如下.日期是时间戳.

CREATE TABLE MSG
(
   MSG_ID decimal(22) PRIMARY KEY NOT NULL,MSG_DATE timestamp,FILE_REF varchar2(32),FILE_NAME varchar2(64),MSG_TYPE varchar2(2),);
CREATE UNIQUE INDEX PK_FEI_MSG ON MSG(MSG_ID);

我试过这个查询.长度取决于时间段.但是我怎么能从现在开始分组.

SELECT substr(MSG_DATE,1,length),COUNT(*) as total FROM MSG GROUP BY substr(MSG_DATE,length)

但是,如何将日期从time_period分组?

解决方法

您可以通过TO_CHAR功能进行分组.
select to_char(msg_date,'X'),count(*)
  from msg
 group 
    by to_char(msg_date,'X')

…其中X是格式规范:

> YYYY = 4位数年份
> MM =一年中的一个月
> DD =每月的日子
> WW =周
> HH24 =一天中的小时

你可以随意组合它们

相关文章

本篇内容主要讲解“sqlalchemy的常用数据类型怎么使用”,感...
今天小编给大家分享一下sqlServer实现分页查询的方式有哪些的...
这篇文章主要介绍“sqlmap之osshell怎么使用”,在日常操作中...
本篇内容介绍了“SQL注入的知识点有哪些”的有关知识,在实际...
1. mssql权限sa权限:数据库操作,文件管理,命令执行,注册...
sql执行计划如何查看?在SPL庞大的数据中我们不知道如何查看...