Datenbank-Abfrage

04/02/2011 - 12:12 von Lothar Geyer | Report spam
Ich hoffe, ich bin jetzt nicht off Topic...

In einer Tabelle ist in einer Spalte ein Integer-Wert eingetragen. Ich
will wissen, wie oft ein Wert kleiner 100 vorkommt, wie oft ein Wert =
200, ein Wert = 300 ... usw. und wie oft ein Wert größer als 900.

Wie geht das (wahrscheinlich) am schnellsten?

Lothar Geyer
 

Lesen sie die antworten

#1 Ingo Moch
04/02/2011 - 12:55 | Warnen spam
Lothar Geyer wrote:

Ich hoffe, ich bin jetzt nicht off Topic...



IMHO irgendwie schon. Thema ist hier ja egentlich das
von dir verwendete DBMS, welches Du leider nicht genannt
hast :-)

In einer Tabelle ist in einer Spalte ein Integer-Wert
eingetragen. Ich will wissen, wie oft ein Wert kleiner
100 vorkommt, wie oft ein Wert = 200, ein Wert = 300 ...
usw. und wie oft ein Wert größer als 900.



Die einfachste Methode ist wohl den Wert durch 100 zu
teilen und davon die Ganzzahl zu nehmen.

Bei der Obergrenze kommt es auf das DDMS an. Bei Access
liesse sich die o. g. ermittelte Zahl per IIf()
manipulieren. Also ungefaehr so:

IIF(
CLNG(MyValue / 100) > 9
, 9
, CLNG(MyValue / 100))

Ist natuerlich alles andere als performant. Vermutlich
ist es etwas schneller erst den gruppierten Wert mit
Iif() zu behandeln:

IIF(
SUM(CLNG(MyValue / 100)) > 9
, 9
, SUM(CLNG(MyValue / 100)))

HTH
Ingo

Ähnliche fragen