現時点では長方形のフォームを探しているだけなので、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