2013-05-16 3 views
0

Dans une base de données MySQL, j'ai une vue (view_one) qui contient un certain nombre d'indices de végétation pour plusieurs champs agricoles. Les champs sont divisés en parcelles, transects et points.Aucune différence entre les écarts-types globaux dans MySQL?

Voici la conception de la table de base:

measure_id | field_id | plot_id | transect | point | végétation_index_1 | .... |

Je crée une deuxième vue pour les valeurs moyennes des indices de végétation par placette et leur écart type respectif.

create view plot_avgs (measure_id, field_id, plot_id, avg_VI1, stddev_VI1, ... as select measure_id, field_id, plot_id, avg(VI1), stddev_samp(VI1), ... from view_one group by measure_id, field_id, plot_id;

Ce que je veux est l'écart-type de la parcelle, ainsi de l'échantillon (stddev_samp()).

Quel est le stddev de la population cependant, MySQL me donne,, quelle que soit l'utilisation de stddev(plot_avg), std(plot_avg), stddev_pop(plot_avg) ou stddev_samp(plot_avg).

Je soupçonne que cela a quelque chose à voir avec le groupe par agrégation que j'utilise.

Qui peut m'aider? Merci.

Répondre

0

Ok je résolus choses moi-même:

si j'utilise la déclaration même as select ... from ... que j'avais l'intention de créer la vue avec et soit il suffit d'exécuter la requête ou l'utiliser pour créer une table, je reçois désiré écart-type de l'échantillon (tracé). Comme décrit dans la question, cela ne se produit pas lors de la création de la vue. Donc, ce que je vais faire, c'est utiliser une table permanente à la place de la vue et la mettre à jour par un déclencheur chaque fois que j'insère de nouvelles données dans la table de données brutes.

Questions connexes