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

3

给定一个包含字符串“时间戳”列(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

我知道这应该很简单,但目前我没有任何运气。

2
如果您将其存储为“DATE”,那么您可以使用“trunc(date_column)” - a'r
1个回答

7
我没有可供测试的数据库,但你似乎正在寻找。
select
  substr(timestamp, 1, 8),
  count(*)
from
  my_table
group by
  substr(timestamp, 1, 8);

我认为那可能就是解决办法。非常感谢您。我尝试使用substring()函数作为年月日,然后按照年月日分组。 - krick

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接