我想做以下事情:
SELECT AVG([1,2,3]);
这当然会返回2。我最接近的是以下内容,虽然不理想,但可以放在一行中:
drop table nums;
create temporary table nums (num int);
insert into nums(num) values(1),(2),(3);
select avg(num) from nums;
如果有办法的话,我认为使用variant()和其他函数也可以做到这一点。
编辑:这个想法是出于好奇,不是我需要解决的实际问题。
最佳答案
AVG只能有1个参数。您需要执行SELECT AVG(num) FROM nums
您也可以执行SELECT SUM(num) / COUNT(num) FROM nums
只是知道,因为您使用整数进行除法,所以它并不精确。
关于mysql - 在MySQL中,有一些方法可以通过数字列表来计算平均值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51546780/