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

时间:2010-08-19 23:24:47

标签: sql oracle count group-by substring

如果一个表有一个字符串“timestamps”(yyyyMMddHHmmssSSS格式)的列,我想要对前8个字符进行子字符串处理,并计算该子字符串的行数,并对结果进行分组。

示例数据......

TIMESTAMP
20100802123456123
20100803123456123
20100803123456123
20100803123456123
20100804123456123
20100805123456123
20100805123456123
20100805123456123
20100805123456123
20100806123456123
20100807123456123
20100807123456123

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

SUBSTRING, COUNT
20100802, 1
20100803, 3
20100804, 1
20100805, 4
20100806, 1
20100807, 2

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

1 个答案:

答案 0 :(得分:7)

我没有要测试的数据库,但似乎您正在寻找

select
  substr(timestamp, 1, 8),
  count(*)
from
  my_table
group by
  substr(timestamp, 1, 8);