我正在尝试在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
请帮我解决这个问题
你可以使用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');