我想按一段时间(月,周,日,小时……)选择计数和组.因此,例如,我想选择行数并将它们分组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 =一天中的小时
你可以随意组合它们