Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Teradata:选定的非聚合值必须是关联组的一部分。

Teradata:选定的非聚合值必须是关联组的一部分。
EN

Stack Overflow用户
提问于 2022-09-15 04:10:43
回答 3查看 54关注 0票数 2

这是我的SQL语句:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT 
    A.username,
    A.logdate,
    SUM(A.AMPCPUTIME) AS cpu,
    SUM(A.TOTALIOCOUNT) AS totalIO,
    COUNT(A.QUERYID) AS qrycount,
    (cpu / b.total_CPU) * 100 AS cpu_threshold_percentage,
    (totalIO / b.total_IOUsage) * 100 AS io_threshold_percentage,
    (qrycount / b.QRY_count) * 100 AS qry_threshold_percentage
FROM 
    pdcrinfo.DBQLOGTBL_HST A
INNER JOIN
    VT_BASELINE b ON A.username = b.username
WHERE 
    A.LOGDATE = DATE-1 
    AND A.username NOT IN ('tdstatsmgr', 'tdstatsmgr_ms', 'sysadmin')
GROUP BY
    A.username, A.logdate;

我不知道我遗漏了哪一列。在select部分中只有两个非聚合列。

EN

回答 3

Stack Overflow用户

发布于 2022-09-15 04:39:28

您的聚合是CPU、TotalIO和QryCount。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT 
    A.username,
    A.logdate,
    SUM(A.AMPCPUTIME) AS cpu,
    SUM(A.TOTALIOCOUNT) AS totalIO,
    COUNT(A.QUERYID) AS qrycount,
    (cpu / **b.total_CPU**) * 100 AS cpu_threshold_percentage,
    (totalIO / **b.total_IOUsage**) * 100 AS io_threshold_percentage,
    (qrycount / **b.QRY_count**) * 100 AS qry_threshold_percentage
FROM 
    pdcrinfo.DBQLOGTBL_HST A
INNER JOIN
    VT_BASELINE b ON A.username = b.username
WHERE 
    A.LOGDATE = DATE-1 
    AND A.username NOT IN ('tdstatsmgr', 'tdstatsmgr_ms', 'sysadmin')
GROUP BY
    A.username, A.logdate;

粗体的字段(注意,参见** )需要在这个当前查询中按组或聚合在组中。CPU、TotalIO和QryCount应该可以工作,因为Teradata允许在select语句下面引用内联聚合。

见total_CPU,total_IOUsage,QRY_count

我不知道你的数据,但你能像你以前的聚合一样把它们放在select中吗?用,数,最多,敏还是森?然后在你的公式中引用它们?

票数 1
EN

Stack Overflow用户

发布于 2022-09-15 08:17:00

来自b的列不是按组分组的,它们要么添加它们,要么应用聚合函数,例如MAX(b.total_CPU)

但是,在加入之前的聚合应该更有效:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select a.*,
   (cpu / b.total_CPU) * 100 AS cpu_threshold_percentage,
   (totalIO / b.total_IOUsage) * 100 AS io_threshold_percentage,
   (qrycount / b.QRY_count) * 100 AS qry_threshold_percentage
from
 (
    SELECT 
        A.username,
        A.logdate,
        SUM(A.AMPCPUTIME) AS cpu,
        SUM(A.TOTALIOCOUNT) AS totalIO,
        COUNT(A.QUERYID) AS qrycount,
    FROM 
        pdcrinfo.DBQLOGTBL_HST A
    WHERE 
        A.LOGDATE = DATE-1 
        AND A.username NOT IN ('tdstatsmgr', 'tdstatsmgr_ms', 'sysadmin')
    GROUP BY
        A.username, A.logdate
 ) as a
INNER JOIN VT_BASELINE b 
ON A.username = b.username
;
票数 1
EN

Stack Overflow用户

发布于 2022-09-15 04:55:29

Teradata不允许您使用同一查询中的聚合。你需要像这样重新计算它们:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT 
    A.username,
    A.logdate,
    SUM(A.AMPCPUTIME) AS cpu,
    SUM(A.TOTALIOCOUNT) AS totalIO,
    COUNT(A.QUERYID) AS qrycount,
    (SUM(A.AMPCPUTIME)/ b.total_CPU) * 100 AS cpu_threshold_percentage,
    (SUM(A.TOTALIOCOUNT)/ b.total_IOUsage) * 100 AS io_threshold_percentage,
    (COUNT(A.QUERYID)/ b.QRY_count) * 100 AS qry_threshold_percentage
FROM 
    pdcrinfo.DBQLOGTBL_HST A
INNER JOIN
    VT_BASELINE b ON A.username = b.username
WHERE 
    A.LOGDATE = DATE-1 
    AND A.username NOT IN ('tdstatsmgr', 'tdstatsmgr_ms', 'sysadmin')
GROUP BY
    A.username, A.logdate;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73730903

复制
相关文章
聚合索引(clustered index) / 非聚合索引(nonclustered index)
以下我面试经常问的2道题..尤其针对觉得自己SQL SERVER 还不错的同志.. 呵呵 很难有人答得好.. 各位在我收集每个人擅长的东西时,大部分都把SQL SERVER 标为Expert,看看是
欢醉
2018/01/22
7.9K0
跨境电商是怎么清关的?
因此较之一般电商,跨境电商的关键区别在于跨境,其他如平台搭建、交易流程较于一般电商并无实际区别。从交易主体性质、进出口性质两个角度划分,跨境电商可以分为跨境出口B2B、跨境出口B2C、跨境进口B2B、跨境进口B2C等四个子领域,本文主要介绍的就是跨境进口B2C业务的清关流程。
物流IT圈
2020/06/11
2.8K0
跨境电商是怎么清关的?
Flink 表值聚合操作在 Dlink 的实践
Flink 具有强大的自定义函数功能,最新的 1.13 版本新增了 Async Table Functions。而其已有的 Table Aggregate Functions 只能在 Table API 中使用,无法 FlinkSQL 中进行定义。于是,成为 Apache Flink 的最佳伙伴的目标,正推动着 Dlink 试图实现该特性。
文末丶
2021/12/27
1.4K0
Flink 表值聚合操作在 Dlink 的实践
为什么 key 是必须的?
之前有说到,在 React 中渲染列表的时候,要给每一个数据加一个 key 值,赋予一个确定的标示,而且也详细描述了如何给一个标示,方法知道了,那么为什么要这么做呢?
子舒
2022/06/09
7860
Vue非父子组件之间的传值
我们可以把一个网页拆分成很多部分,每个部分就是我们代码中的一个组件,左侧整个区域代表方块1,拆分成3个灰色区域代表方块2,左下区域又分成更小的2个深色区域,分别用2个方块3表示,右侧拆分成更小的3个深色区域用3个方块3表示
砖业洋__
2023/05/06
1.6K0
Vue非父子组件之间的传值
编码技巧 --- 同步锁对象的选定
线程锁的原理,就是锁住一个资源,使得应用程序在此刻只有一个线程访问该资源。通俗地讲,就是让多线程变成单线程。在C#中,可以将被锁定的资源理解成 new 出来的普通CLR对象。
Niuery Diary
2023/10/22
1350
编码技巧 --- 同步锁对象的选定
nms非极大值抑制原理_什么是行为抑制
目标定位和检测系列(3):交并比(IOU)和非极大值抑制(NMS)的python实现
全栈程序员站长
2022/11/04
2.5K0
nms非极大值抑制原理_什么是行为抑制
AI Insight:放弃幻想,搞 AI 必须过数学关
从2012年“大数据”概念兴起到2016年人工智能大热,已经四五年时间了,该看的热闹看到了,该爆炒的话题炒够了,该沉淀的也沉下来了。现在越来越多的人已经放下质疑,相信这一届 AI 确实靠谱,该找找门道了。最近好多关注 AI 的公众号都发表了文章谈数学学习的问题,这就真的上道了。如果你是技术人员,特别是程序员,想成为 AI 工程师,那么只要你稍微花点时间研究一下 AI 的门道,就会意识到,主要的拦路虎是数学。如果你看到有人说什么不懂数学也能搞 AI,那你可能要警惕,因为这很可能是一种误导。
CreateAMind
2018/07/24
1.1K0
AI Insight:放弃幻想,搞 AI 必须过数学关
Android 10.0相关权限的变更(使用WiFi Direct必须打开定位)
Android 10.0中对隐私权(权限)做了变更。这里总结一些与 WLAN 相关的。 1、对直接访问已配置的 WLAN 网络实施了限制 如果应用以 Android 10 或更高版本为目标平台,并且应用不是系统应用或 DPC,则下列方法不会返回有用数据:
用户7557625
2020/07/15
2.1K0
AI Insight:放弃幻想,搞 AI 必须过数学关
从2012年“大数据”概念兴起到2016年人工智能大热,已经四五年时间了,该看的热闹看到了,该爆炒的话题炒够了,该沉淀的也沉下来了。现在越来越多的人已经放下质疑,相信这一届 AI 确实靠谱,该找找门道了。最近好多关注 AI 的公众号都发表了文章谈数学学习的问题,这就真的上道了。如果你是技术人员,特别是程序员,想成为 AI 工程师,那么只要你稍微花点时间研究一下 AI 的门道,就会意识到,主要的拦路虎是数学。如果你看到有人说什么不懂数学也能搞 AI,那你可能要警惕,因为这很可能是一种误导。 一定要认识到一点
AI科技大本营
2018/04/26
9310
AI Insight:放弃幻想,搞 AI 必须过数学关
编码技巧 --- 同步锁对象的选定
线程锁的原理,就是锁住一个资源,使得应用程序在此刻只有一个线程访问该资源。通俗地讲,就是让多线程变成单线程。在C#中,可以将被锁定的资源理解成 new 出来的普通CLR对象。
郑子铭
2023/08/30
1290
编码技巧 --- 同步锁对象的选定
非父子组件传值
当组件的嵌套多时,非父子组件间传值就显得复杂,除了使用vuex (opens new window)实现之外,还可以通过Bus(或者叫 总线/发布订阅模式/观察者模式)的方式实现非父子组件间传值。
小小杰啊
2022/12/21
2760
OpenSource 的 Free是自由 非免费
在Csdn上看到一篇新闻开源软件新模式:免费软件不免费 ,文中一直在描述这样的概念“免费”,而没有说明Free这个词的真正含义。 开源(OpenSource)起源于自由软件“Free software”。这也是大部分人第一次听说词组“Free Software”的时候,它们会下意识地认为这个软件是免费的。在这个词组中,与软件连用的单词“free”是指“自由”---其含义是复制、修改和发行这个软件是自由的。原则上说,这些方面的自由意味着对源代码的同等接触。Richard Stallman是“自由软件”这个
张善友
2018/01/26
9610
如何控制Ansible Playbook的执行顺序、运行选定的剧本资源
在处理大型或复杂的剧本时,如果只希望运行部分剧本或部分任务。可以将标签应用于可能要跳过或运行的特定资源。
山河已无恙
2023/01/30
2.7K0
matplotlib:如何选定颜色
此颜色选择方式是由正则匹配的 C[0-9] 来确定颜色。只要是支持这种颜色的地方都可以通过这种方式来设置,而且也可以作为 matplotlib.Axes.plot 的单字符颜色。
bugsuse
2020/04/21
1.1K0
matplotlib:如何选定颜色
为何 987654321/123456789 的值是 8.0000000729
有时候,发现 987654321/123456789=8.0000000729 为什么后面还有几个数字? 本文告诉大家,后面几个是如何算的
林德熙
2019/03/13
6870
为何 987654321/123456789 的值是 8.0000000729
有时候,发现 987654321/123456789=8.0000000729 为什么后面还有几个数字? 本文告诉大家,后面几个是如何算的
林德熙
2018/09/18
4820
(六)为什么Mutations必须是同步的
只有同步执行的操作才能被 createLogger 捕获记录到,下面看一下详细代码
老怪兽
2023/02/22
3920
(六)为什么Mutations必须是同步的
怎么获取枚举的值_枚举是值类型吗
最近在做一个学校的系统,其中用到一些枚举,可是在显示下拉列表时要绑定枚举的描述及其枚举值时就只一个一个的默认设死,这样不灵活。有没有其快捷方法?搜了下百度很多相关资料有了些许眉目,代码如下
全栈程序员站长
2022/09/20
4.5K0
数字化转型的“是”与“非”
如果你对数字化转型的含义感到困惑,那么你并不孤单,因为很多人跟你一样。但调查数据突显出,人们在数字化转型如何改变企业经营方式方面达成了一些共识。
人称T客
2019/12/19
5870

相似问题

选定的非聚合值必须是关联组的一部分

22

Teradata:选定的非聚合值必须是...上的关联组的一部分。我正在选择所有非聚合字段

20

Teradata这个查询有什么问题?“选定的非聚合值必须是关联组的一部分。”

20

在Teradata上运行查询时出错-选定的非聚合值必须是关联组的一部分

00

返回错误:选定的非聚合值必须是关联组的一部分。

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文