2016-08-19 1 views
0

Wenn zwei Ereignisse, A und B, sich nicht gegenseitig ausschließen, ist die Wahrscheinlichkeit, dass A oder B auftreten wird: P (A oder B) = P (A) + P (B) - P (A und B)nicht gegenseitig ausschließende Wahrscheinlichkeit Addition in SQL?

Für mein Problem ist es f (a, b) = a + ba * b

wenn man nun das calculate P (A oder B oder C) ist, dann hat man zur Kettenzusammensetzung dieser Funktion als f (c, f (a, b))

Gibt es eine Möglichkeit, dies effizient in SQL zu tun, ohne einen Cursor zu verwenden, wenn viele Zeilen zusammenzufassen sind?

aktualisieren

Die vollständige Antwort basierend auf @ MikeP Antwort:

SELECT 1-EXP(SUM(LOG(1.0-x))) FROM #foo 

Danke MikeP. :)

Antwort

1

Wie wäre es mit $ P (A + B + C) = 1 - nicht (A) \ cdot nicht (B) \ cdot nicht (C) $?

+0

Wird dies die volle Allgemeinheit der ursprünglichen Frage beantworten? –

+1

gute Frage. Ich war sicherlich mehr auf die Effizienz als auf die Erweiterbarkeit Teil konzentriert ... –

+1

SELECT 1-EXP (SUMME (LOG (1,0-x))) VON # foo - vielleicht – Chris

Verwandte Themen