sql - Oracle SQL 查询计数组按时间戳子字符串

标签 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

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

最佳答案

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

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

关于sql - Oracle SQL 查询计数组按时间戳子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3527066/

相关文章:

php - MySQL/PHP : Comparing large sets of 2 specific rows in one table (POKER-calculator)

sql - 如何使用ODBC检查数据库是否存在

MySQL总结两个相反的货币对

java - Hibernate中级联删除: What order to delete from tables?

c# - LINQ 计算出现次数

mysql - MySQL 每部电影的平均类型数

count - Netlogo:如何计算连续指定坐标之间的海龟?

SQL - 如何建立同期群分析

c# - 即使在为 11g 安装了 oracle 即时客户端后,asp.net 应用程序也没有连接到 oracle 11g

oracle - 数字到日期的转换会影响oracle中的性能