选择查询以显示带有HH组的时间戳(HH:MM:SS)列(ORACLE QUERY)

问题描述 投票:1回答:1

我正在尝试在oracle中创建select查询以从my_table获取以下结果

表内容timestamp列和计数列,timestamp_colomn中的记录是按分钟基数插入的。

尝试查询: - 这样的事情

 select to_char(timestamp_coloumn ,'HH24:MI:SS') as TS , count as count 
 from my_table 
 group by to_char(timestamp_coloumn ,'HH24');

错误:-

ORA-00979: not a GROUP BY expression

如果,我匹配选择和分组声明像下面的工作,但是,我无法达到我的预期结果(我不知道是否正确查询)

select to_char(timestamp_coloumn ,'HH24:MI:SS') as TS , count as count 
from my_table 
group by to_char(timestamp_coloumn ,'HH24:MI:SS');

预期结果(每小时时间戳和计数被分组并对该小时内存在的所有记录求和): -

timestamp_coloumn  count  
--------------------------  
07:01:23             4
08:01:36             3
09:01:44             6
10:01:10             5 

请帮我解决这个问题

sql oracle
1个回答
1
投票

你可以使用MIN()

 select min(to_char(timestamp_coloumn ,'HH24:MI:SS')) as TS, count(*) 
 from my_table 
 group by to_char(timestamp_coloumn ,'HH24');

或者使两个表达式匹配:

 select to_char(timestamp_coloumn ,'HH24') as TS, count(*) 
 from my_table 
 group by to_char(timestamp_coloumn ,'HH24');
© www.soinside.com 2019 - 2024. All rights reserved.