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

前端之家收集整理的这篇文章主要介绍了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 =一天中的小时

你可以随意组合它们

猜你在找的MsSQL相关文章