02 Stimmen

MySQL: Nächsthöhere und kleinere Zahl zu einem Vergleichswert finden

Frage von NetGuy | 02.03.2012 um 19:50

Ich habe einen Wert in MySQL und möchte in einer Spalte den am nächsten liegenden kleineren und den am nächsten liegenden größeren Wert bestimmen. Nehmen wir als Beispiel einfach mal folgende Werte in einer Spalte an:

4
7
8
10  <--
13
19

Ich möchte nun den nächsthöheren Wert von 10 (das wäre 13) und den nächstkleineren Wert von 10 (das wäre 8) herausbekommen.

Mit MAX komme ich da natürlich nicht weit. Gibt es sowas wie MAX BETWEEN oder dergleichen, mit dem ich den nächsten Wert von einem Ausgangswert bestimmen kann?

AntwortenPositivNegativ
7Beste Antwort11 Stimmen

Angenommen wir haben eine Tabelle "tabelle" und wollen aus der Spalte "spalte" den nächsten Wert zu 10 finden.

Für den nächstkleineren Wert sieht unsere Abfrage so aus:

SELECT MAX (DISTINCT spalte) 
FROM tabelle
WHERE spalte < 10;

Für den nächsthöheren Wert sieht unsere Abfrage so aus:

SELECT MIN (DISTINCT spalte) 
FROM tabelle
WHERE spalte > 10;

Einfach den gewünschten Wert in die Abfrage einsetzen.
02.03.2012 um 19:56

AntwortenPositiv Negativ
Antworten

Ähnliche Themen

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.