Oracle SQL查询计数组按时间戳子串

kri*_*ick 3 sql oracle group-by substring count

给定一个具有字符串"timestamps"(yyyyMMddHHmmssSSS格式)列的表,我想要对前8个字符进行子字符串,并获得该子字符串有多少行的计数,对结果进行分组.

样本数据...

TIMESTAMP
20100802123456123
20100803123456123
20100803123456123
20100803123456123
20100804123456123
20100805123456123
20100805123456123
20100805123456123
20100805123456123
20100806123456123
20100807123456123
20100807123456123
Run Code Online (Sandbox Code Playgroud)

......和预期的结果......

SUBSTRING, COUNT
20100802, 1
20100803, 3
20100804, 1
20100805, 4
20100806, 1
20100807, 2
Run Code Online (Sandbox Code Playgroud)

我知道这应该很容易,但我现在没有运气.

Bra*_*ley 7

我没有要测试的数据库,但看起来你正在寻找

select
  substr(timestamp, 1, 8),
  count(*)
from
  my_table
group by
  substr(timestamp, 1, 8);
Run Code Online (Sandbox Code Playgroud)