1

現時点では長方形のフォームを探しているだけなので、phpmyadminのバニラmysqlで動作させようとしています。互いに重複する可能性のある複数の領域があり、すべての領域に「コスト」があるデータベースが必要です。したがって、特定のポイントでのコストを取得したり、オーバーラップしている部分を無視して領域全体のコストを測定したりできます。また、データベースに存在する総コストの平均を取得することもできます。

あなたの mysql ベテランの 1 人が、そのようなクエリ/データベース スキーマを書くのを手伝ってくれるかどうか疑問に思っています。多かれ少なかれ、すでに何かを持っています。

select sum(c.cost) 
from (select x.num as x, y.num as y, max(priority) as maxpriority 
      from numbers x 
      cross join numbers y 
      join costs c 
      on x.num between c.x and c.x + c.deltax 
      and y.num between c.y + c.deltay 
      where x.value between PIXELX and PIXELX and DELTAX and 
      y.value between PIXELY and PIXELY and DELTAY 
      group by x.num, y.num) xyp
join costs c 
on xyp.x between c.x and c.x + c.deltax
and xyp.y between c.y + c.deltay
and xyp.maxpriority = c.priority 

これは無効でバグだらけのようで、データベーススキーマも言及されていませんでした。私はそれを修正して機能させるために何日も費やしましたが、null を返し続けます。

よろしくお願いします。

スキーマは次のとおりです。これは数字です。

Collation   Attributes  Null    Default Extra   Action
     1  num int(11)         No  None          Change      Drop    Browse distinct values     More

これは費用です:

#   Name    Type    Collation   Attributes  Null    Default Extra   Action
 1  x   int(11)         No  None          Change      Drop    Browse distinct values     More
 2  y   int(11)         No  None          Change      Drop    Browse distinct values     More
 3  deltax  int(11)         No  None          Change      Drop    Browse distinct values     More
 4  deltay  int(11)         No  None          Change      Drop    Browse distinct values     More
 5  priority    int(11)         No  None          Change      Drop    Browse distinct values     More
4

1 に答える 1