我在表格中有一个列XYZ
,其中存储了(x,y,z)
个坐标。我想找到该列的平均值。
当我尝试以下SQL时,
SELECT AVG(xyz) FROM table1
它只给我x -coordinate
的平均值。我试图在php
代码中使用结果。
所以我也试过
$xyz = mysql_query("SELECT xyz FROM `notes_two` where id=".$id);
list($leftx,$topy,$zindexz) = explode('x',$xyz);
但我仍然不知道如何找到列xyz
的所有行的平均值
这是我的table
答案 0 :(得分:2)
使用查询,您可以
Select SUBSTRING_INDEX(xyz,'x',1) as x ,
SUBSTRING_INDEX(SUBSTRING_INDEX(xyz,'x',-2),'x',1) as y ,
SUBSTRING_INDEX(xyz,'x',-1) as z from table1
查看演示http://sqlfiddle.com/#!2/62208/10
然后使用常规PHP你可以获得每行的平均值。
或直接与您可以做的查询
Select
AVG(x) as AVG_X,
AVG(Y) as AVG_Y,
AVG(z) as AVG_Z
from
(
select
SUBSTRING_INDEX(xyz,'x',1) as x ,
SUBSTRING_INDEX(SUBSTRING_INDEX(xyz,'x',-2),'x',1) as y ,
SUBSTRING_INDEX(xyz,'x',-1) as z from table1
)t1