sql - 在同一查询中求和并连接列数据
问题描述
我正在使用 Oracle DB 并有以下查询引发错误:
ORA-00937: 不是单组组函数
询问:
select sum(ct.TOT_CT), ct.CREAT_TS, ev.EVENT
from REF_CT ct
inner join EVENT ev on ev.EVENT_TYPE_ID = ct.EVENT_TYPE_ID
where ct.TX = 'SomeText';
如果我尝试单独访问以下内容,它会起作用。如分别调用 sum、ct.CREAT_TS 等。
问题似乎是在此查询中调用 sum。我计划在一个对象中捕获输出(如果相关,Java)。我希望查询输出如下。有可能实现这一目标吗?
CREAT_TS EVENT sum(ct.TOT_CT)
2019-04-02 01:33:46.227000 SOME_EVENT 1 8
2019-04-02 02:56:14.530000 SOME_EVENT 2
在给出答案后,得到以下结果,其中总和值按列拆分:
CREAT_TS EVENT sum(ct.TOT_CT)
2019-04-02 01:33:46.227000 SOME_EVENT 1 2
2019-04-02 02:56:14.530000 SOME_EVENT 2 6
解决方案
您需要包含group by
子句。
select sum(ct.TOT_CT), ct.CREAT_TS, ev.EVENT
from REF_CT ct
inner join EVENT ev on ev.EVENT_TYPE_ID = ct.EVENT_TYPE_ID
where ct.TX = 'SomeText'
group by ct.CREAT_TS, ev.EVENT;
推荐阅读
- flutter - 是否可以在 Flutter 的 IconButton 中使用 DropDownButton?
- javascript - 范围变量的更改不更新 DOM
- c# - 为什么 Visual Studio 会使 C# 文本编辑器中的“字符串”一词变暗
- python - Django 2.0 升级 - urls.W001 上的误报警告
- excel - 如何链接到excel中不同工作表中的多个单元格 excel
- java - 这段代码是否违反了开闭原则?
- c++ - 在纹理中存储浮点数组并使用纹理坐标从着色器访问浮点数
- r - 在ggplot中覆盖来自不同数据框的图而不弄乱图例
- c# - DDD 从外部 API、存储库和域服务构造 AggregateRoot 实体
- mongodb - Mongo DB 根据关键字段查找具有最高值的所有记录