多くの冗長ポイントがあるテーブルがあります。(distinct) を使用して個別のポイントを選択し、いくつかの行の平均 (例: rscp) を選択したいと考えています。ここに例があります:
| id |  point                   |   rscp    |   ci
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
| 1  |  POINT(10.1192 36.8018)  |   10      |   701
| 2  |  POINT(10.1192 36.8018)  |   11      |   701
| 3  |  POINT(10.1192 36.8018)  |   12      |   701
| 4  |  POINT(10.4195 36.0017)  |   30      |   701
| 5  |  POINT(10.4195 36.0017)  |   44      |   701
| 6  |  POINT(10.4195 36.0017)  |   55      |   701
| 7  |  POINT(10.9197 36.3014)  |   20      |   701
| 8  |  POINT(10.9197 36.3014)  |   22      |   701
| 9  |  POINT(10.9197 36.3014)  |   25      |   701
私が取得したいのは、以下の表です: (rscp_avg は、冗長ポイントの rscp の平均です)
| id |  point                   |   rscp_avg    |   ci
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
| *  |  POINT(10.1192 36.8018)  |   11          |   *
| *  |  POINT(10.4195 36.0017)  |   43          |   *
| *  |  POINT(10.9197 36.3014)  |   22.33       |   *
これを試してみましたが、偽の平均が得られました!!!!
select distinct on(point)
id,st_astext(point),avg(rscp) as rscp_avg,ci
from mesures
group by id,point,ci;
お世話になりました(^_^)