php - 如何分解并找到 XYZ 坐标的平均值

标签 php mysql sql explode

我的表中有一个列 XYZ,其中存储了 (x,y,z) 坐标。我想找到该列的平均值。 当我尝试以下 SQL 时,

SELECT AVG(xyz) FROM table1

它只给出了x坐标的平均值。我正在尝试在 php 代码中使用结果。

所以我也尝试过

$xyz = mysql_query("SELECT xyz FROM  `notes_two` where id=".$id);
list($leftx,$topy,$zindexz) = explode('x',$xyz);

但我还是不知道如何求该列所有行的平均值xyz

这是我的 table

最佳答案

通过查询,您可以执行以下操作

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

在此处查看演示 http://sqlfiddle.com/#!2/62208/11

关于php - 如何分解并找到 XYZ 坐标的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22672996/

相关文章:

php - 如何在多个页面上继续交易

sql - 在 PostgreSQL 中获取一个范围内的日期列表

mySQL(和 MSSQL),在 where 子句中同时使用索引列和非索引列

使用 Ajax 调用 php 文件时,php 文件中的 JavaScript 不起作用

javascript - 如何使用动态名称更新 Json 对象

php - Mysql的结果有限制吗?

PHP 使用 while 循环来获取项目,使用动态选择函数?

mysql - 带有可定制 View 的 Sql Join

php - 错误 : "SQLSTATE[28000] [1045] Access denied for user" on cPanel SQL database

php soap 错误获取 http header