【问题标题】:DISTINCT and AVG with 3 columns [closed]具有 3 列的 DISTINCT 和 AVG [关闭]
【发布时间】:2021-03-04 00:44:24
【问题描述】:

我有专栏

id_employe、id_job 和 col_int

如果员工有相同的 id_job,我需要对 id_employe 进行分组,并且从这个 id_job 开始,我需要第三列的平均值

这是我写的:

DISTINCT(id_employe), id_job, AVG(col_int)
FROM table

然后我写了这个:

DISTINCT(id_employe), id_job, AVG(col_int)
FROM table
GROUP BY id_employe

然后我尝试了这个:

SELECT 
AVG(col_int)
FROM 
(SELECT DISTINCT(id_employe), id_job, AVG(col_int)
FROM table) v

我迷路了:( 感谢您的帮助

【问题讨论】:

  • DISTINCT 不是一个函数,它是一个集合量词,适用于整个选定的行。只需执行SELECT DISTINCT c1, c2 ... 即可使代码更清晰。
  • 但是,GROUP BY 消除了重复项,因此无需同时执行 SELECT DISTINCT。
  • 轻松为您提供帮助,向我们展示一些示例表数据和预期结果 - 格式化文本(无图像)。minimal reproducible example

标签: mysql sql select average distinct


【解决方案1】:

你可以试试这个,希望对你有帮助。

SELECT id_employe, id_job, AVG(col_int)
  FROM table
  GROUP BY id_employe, id_job

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-08
    • 1970-01-01
    相关资源
    最近更新 更多