Obecnie używam następującą kwerendę, aby uzyskać pewne numery:Ważona średnia kalkulacja w MySQL?
SELECT gid, count(gid), (SELECT cou FROM size WHERE gid = infor.gid)
FROM infor
WHERE id==4325
GROUP BY gid;
Wyjście ja dostaję w moim obecnym etapie jest następujący:
+----------+-----------------+---------------------------------------------------------------+
| gid | count(gid) | (SELECT gid FROM size WHERE gid=infor.gid) |
+----------+-----------------+---------------------------------------------------------------+
| 19 | 1 | 19 |
| 27 | 4 | 27 |
| 556 | 1 | 556 |
+----------+-----------------+---------------------------------------------------------------+
Próbuję obliczyć średnią ważoną IE
(1 * 19 + 4 * 27 + 1 * 556)/(19 + 27 + 556)
Czy można to zrobić za pomocą pojedynczego zapytania?
Awesome ... Dziękuję bardzo za to. Miałem zamiar napisać pętlę zagnieżdżoną wewnątrz procedury, ale natrafiłem na artykuł, który powiedział: "Jeśli potrzebujesz zagnieżdżonej pętli, to nie spojrzałeś na JOIN" :) – Legend
@legend: Porada jest poprawna, ale DOŁĄCZY również rekordy zwiększające ryzyko, jeśli z rodzicem powiązane jest więcej niż jedno dziecko. Jeśli chcesz odróżnić wiersze od rodzica, lepiej użyć podkwerendy (EXISTS byłoby moją rekomendacją). –
Rozumiem. W moim przypadku jest dokładnie jeden element, ale będę pamiętać o twoich radach. – Legend