Hallo!

> > Median ist keine Aggregat-Funktion. Median geh�rt zu den
> > Analysis-Services... Check die Doku - das sql server books 
> > online... Ist
> > beim sql server dabei... Bzw. Auf der CD..
> Da habe ich leider nicht so viel gefunden.

Da gibt es ein ganzes Kapitel zu den Analysis Services. ;-)

Letztendlich d�rften die Analysis Services die schnellste und
effizienteste L�sung sein. Eine Userdefined Function ist da ziemlich
aufwendig, vor allem wenn die Funktion tats�chlich zur Aggregation der
Daten verwendet werden soll.

> > Um ein Median zu simulieren k�nntest Du sowas machen(ungetestet):
> > Select top 1 t1.spalte
> > from tabelle t1 inner join tabelle t2 on t2.spalte<t1.spalte
> > Group by t1.spalte
> > Having count(t2.spalte)=(select ceiling(count(*)/2) from tabelle)

Einen fast genauen Median erh�ltst Du ziemlich schnell mit:

SELECT MAX(Spalte)
FROM   (SELECT   TOP 50% Spalte
        FROM     Tabelle
        ORDER BY Spalte ASC)

Statt:

SELECT   Spalte1, MEDIAN(Spalte2)
FROM     Tabelle
GROUP BY Spalte1

Kannst Du dann so selektieren:

SELECT Spalte1, (SELECT MAX(Spalte2)
                 FROM   (SELECT   TOP 50% Spalte2
                         FROM     Tabelle AS B
                         WHERE    B.Spalte1 = A.Spalte1
                         ORDER BY Spalte2 ASC))
FROM   (SELECT DISTINCT Spalte1
        FROM Tabelle
        ORDER BY Spalte1) AS A

Aber das gibt Dir nur eine "Gr��enordnung" des Median und abh�ngig von
den Werten, kann der gefundene Wert auch ganz erheblich vom echten
Median abweichen. In den F�llen ist der echte Median aber auch nicht
aussagekr�ftiger als der simulierte Median.

Ohne Analysis Services kommst Du f�r den echten Median um eine Stored
Procedure oder Userdefined Function nicht herum. Da w�rde ich dann eher
eine anwendungsbezogene und keine allgemeine Funktion schreiben und ggf.
die Ergebnisse in eine Zwischentabelle schreiben.

Freundliche Gr��e
Joachim van de Bruck

_______________________________________________
Database.asp mailing list
[EMAIL PROTECTED]
http://www.glengamoi.com/mailman/listinfo/database.asp

Antwort per Email an