Hallo!
> 1006
> 1011
> 1006
> 1004
> 992
> 993
> 1006
> 1003
> 991
> 994
> 988
> 995
> 1012
> 1025
> 1028
> 1024
> 1011
> 1005
> 997
> 976
> 1006
> 981
> 980
> 995
> 993
> 976
> 984
> 989
>
>
> Man sieht ja, dass 1028 Maximum und 976 Minimum sein muss.
> Wenn ich dies nun per SQL-Abfrage herausbekommen will,
> versuche ich es so:
>
> SELECT * FROM Tabelle WHERE Feld = (SELECT Max(Feld) FROM Tabelle
>
> und analog dazu mit Min(Feld).
>
> Das ergibt nun aber ganz merkwuerdige Werte:
>
> Max(Feld)=997
> Min(Feld)=1003
Die Werte stimmen, offensichtlich handelt es sich dabei um
Zeichenketten. Es wird also nach dem Alphabeth und nicht nach Wertigkeit
sortiert.
> Und das laesst sich reproduzieren, ich erhalte immer 997 als
> Maximum und 1003 als Minimum.
>
> Wie kommt das? Die gleiche Abfrage auf andere Werte angesetzt
> bringt die tatsaechlichen Maxima und Minima - nur hier nicht.
>
> P.S. Gibt es einen Weg, dass -10 als kleiner als -3
> akzeptiert wird? Das wird bei der Abfrage naemlich genau
> umgekehrt gemacht.
Wenn die Spalten Zahlenwerte (INTEGER, DOUBLE, CURRENCY, ...) enthalten,
dann ist -10 auch immer kleiner als -3. Du solltest also der Spalte in
Deiner Tabelle einfach einen Zahlentyp zuweisen und die Sortierung
klappt.
Probier dann mal folgendes SQL:
SELECT (SELECT Max(Feld) FROM Tabelle) AS Maximum,
(SELECT Min(Feld) FROM Tabelle) AS Minimum
Freundliche Gr��e
Joachim van de Bruck
| [aspdedatabase] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp