Mysql 选择整个表中两列之间的平均值

Mysql 选择整个表中两列之间的平均值,mysql,average,Mysql,Average,我有一张桌子(例如): 我正在寻找一种方法,在每行中的数字和结果值之间选择平均值。 谢谢 每行中price_from和price_to的平均值: SELECT (price_from + price_to) / 2 AS row_avg FROM tablename; 上述各行平均值的平均值: SELECT AVG((price_from + price_to) / 2) AS avg_of_avgs FROM tablename; 每列的平均值: SELECT AVG(price_from

我有一张桌子(例如):

我正在寻找一种方法,在每行中的数字和结果值之间选择平均值。
谢谢

每行中price_from和price_to的平均值:

SELECT (price_from + price_to) / 2 AS row_avg FROM tablename;
上述各行平均值的平均值:

SELECT AVG((price_from + price_to) / 2) AS avg_of_avgs FROM tablename;
每列的平均值:

SELECT AVG(price_from) AS price_from_avg, AVG(price_to) AS price_to_avg FROM tablename;
所有数据的平均值(price_from和price_to):

如果price\u from和price\u to都是整数,则上述查询将返回整数平均值。如果您希望在这种情况下获得十进制平均值,则需要使用cast将每个列计算中的至少一个数字转换为浮点数。然后,查询将变成:


每行中价格从和价格到的平均值(带cast):

以上各行平均值查询的平均值(带cast):

每根立柱的平均值(带铸件):

所有数据的平均值(带cast的price_from和price_to):


每行中price_from和price_to的平均值:

SELECT (price_from + price_to) / 2 AS row_avg FROM tablename;
上述各行平均值的平均值:

SELECT AVG((price_from + price_to) / 2) AS avg_of_avgs FROM tablename;
每列的平均值:

SELECT AVG(price_from) AS price_from_avg, AVG(price_to) AS price_to_avg FROM tablename;
所有数据的平均值(price_from和price_to):

如果price\u from和price\u to都是整数,则上述查询将返回整数平均值。如果您希望在这种情况下获得十进制平均值,则需要使用cast将每个列计算中的至少一个数字转换为浮点数。然后,查询将变成:


每行中价格从和价格到的平均值(带cast):

以上各行平均值查询的平均值(带cast):

每根立柱的平均值(带铸件):

所有数据的平均值(带cast的price_from和price_to):

请尝试此查询

SELECT AVG(avgprice) as avgprice from 
(SELECT (price_from + price_to) / 2 AS avgprice FROM [Table Name]) as temp;
请尝试此查询

SELECT AVG(avgprice) as avgprice from 
(SELECT (price_from + price_to) / 2 AS avgprice FROM [Table Name]) as temp;

@ USER 889339如果回答了你的问题,请考虑接受我的回答!USER 889339如果回答了你的问题,请考虑接受我的回答!
SELECT AVG(p) as total_avg FROM
(SELECT CAST(price_from AS FLOAT) AS p FROM tablename UNION ALL 
SELECT CAST(price_to AS FLOAT) FROM tablename) dummyname;
SELECT AVG(avgprice) as avgprice from 
(SELECT (price_from + price_to) / 2 AS avgprice FROM [Table Name]) as temp;