Mysql sql从表的不同列中选择平均值
在我的桌子上,我有一些像这样的可乐,(旁边是另一匹) 我想求不同col1上的ALLcol2的平均值。Mysql sql从表的不同列中选择平均值,mysql,sql,sqlcommand,Mysql,Sql,Sqlcommand,在我的桌子上,我有一些像这样的可乐,(旁边是另一匹) 我想求不同col1上的ALLcol2的平均值。 (5+3+5+7)/4=5平均值是一组值的总和除以这些值的个数。在这里,您希望除以不同值的计数,因此: SELECT SUM(col2)/COUNT (DISTINCT col1) FROM my_table 你可以说 SELECT col1, AVG( col2 ) FROM my_table GROUP BY col1 试一试 试试这个: SELECT AVG(T.col2) FRO
(5+3+5+7)/4=5平均值是一组值的总和除以这些值的个数。在这里,您希望除以不同值的计数,因此:
SELECT SUM(col2)/COUNT (DISTINCT col1)
FROM my_table
你可以说
SELECT col1, AVG( col2 ) FROM my_table GROUP BY col1
试一试
试试这个:
SELECT AVG(T.col2)
FROM
(SELECT DISTINCT col1, col2
FROM yourtable) as T
您将需要一个子查询。这里有一个方法:
select avg(col2)
from (select distinct col1, col2
from my_table
) t
亲爱的,您总结了col2的所有值,而不是一个单独的col1。这是OP的文本建议的,尽管不是他的示例。让我们请OP澄清一下,你能分享一下你期望得到的这些数据的输出吗?您的计算和文本似乎相互矛盾。这是错误的,它分别为每个col1不同元素生成平均值!
SELECT AVG(T.col2)
FROM
(SELECT DISTINCT col1, col2
FROM yourtable) as T
select avg(col2)
from (select distinct col1, col2
from my_table
) t