【问题标题】:MYSQL - Using AVG() and DISTINCT togetherMYSQL - 一起使用 AVG() 和 DISTINCT
【发布时间】:2010-02-27 20:51:55
【问题描述】:

如何在 MYSQL 中编写以下代码?

SELECT AVG(col1) FROM table WHERE DISTINCT col2

更多信息:

table

col1 | col2
-----------
2    | 555.555.555.555
5    | 555.555.555.555
4    | 444.444.444.444

返回“3”

基本上我正在尝试选择 col1平均 值,其中 col2 中的 IP 地址是不同的

【问题讨论】:

    标签: sql mysql distinct average


    【解决方案1】:
      SELECT col2, 
             AVG(col1) 
        FROM table 
    GROUP BY col2
    

    【讨论】:

    • 有没有简单的方法来获取整列的 AVG()?
    • select avg(col1) from table 会给你整列的平均值。
    【解决方案2】:

    对,因为 distinct 子句会找到第一行和第三行,所以 2 和 4 的平均值是 3。

    我认为您正在寻找的是“按 col2 分组”而不是不同的。

    【讨论】:

      【解决方案3】:

      我认为您需要 group by 运算符。它会在对行进行计算之前对行进行分组。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-24
        • 1970-01-01
        • 1970-01-01
        • 2019-05-05
        相关资源
        最近更新 更多