首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择列表不在GROUP BY错误中,但我得到的结果是cleary

选择列表不在GROUP BY错误中,但我得到的结果是cleary
EN

Stack Overflow用户
提问于 2020-01-28 13:28:20
回答 1查看 45关注 0票数 0

这是我写的代码。

代码语言:javascript
复制
SELECT
    substr(to_char(birthday, 'YYYY'), 1, 3)
    || '0',
    emp_type,
    AVG(pay)
FROM
emp2
WHERE
    substr(to_char(birthday, 'YYYY'), 1, 3) IN (
        '196',
        '197',
        '198',
        '199'
    )
GROUP BY
    substr(to_char(birthday, 'YYYY'), 1, 3),
    emp_type;

代码很简单,只需将20世纪60年代、70年代、80年代、90年代的人分组,然后使用AVG(PAY)找到平均工资

当我运行这段代码时,没有出现任何问题或警告,但是Oracle SQL Devloper向我展示了这一点。

很抱歉我的言辞。无论如何,警告说SELECT列表与GROUP BY不同。

我知道这是一个次要的东西,但我认为我选择的那个肯定是在GROUP BY中。请告诉我我的想法是对还是错。下面是代码中使用的结果和数据表。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-28 15:15:34

group by需要包含您选择的列。在您的示例中,您选择了2列:

代码语言:javascript
复制
SELECT 
    substr(to_char(birthday, 'YYYY'), 1, 3) || '0',
    emp_type,
    ...

但group by子句中缺少连接的“0”,因此group by中的2列与select子句中的列不同。

代码语言:javascript
复制
GROUP BY
    substr(to_char(birthday, 'YYYY'), 1, 3),
    emp_type;

尝试将其更改为

代码语言:javascript
复制
GROUP BY
    substr(to_char(birthday, 'YYYY'), 1, 3) || '0',
    emp_type;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59942633

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档