MySQL: Von zwei Werten den größeren bestimmen
Frage von NetLabel | 24.10.2011 um 17:26
Ich habe ein kleines Problem mit MySQL. Ich möchte den größeren von zwei Werten herausfinden und zurückgeben. Ich habe es mit MAX() probiert, aber das führt immer nur zu einer Fehlermeldung. Was kann ich tun?
Meine Abfrage sieht bisher etwa so aus: SELECT MAX(0,(SELECT ...)). Es soll also geschaut werden ob 0 oder der Wert aus der SELECT Anweisung größer ist und der größere der beiden Werte soll ausgegeben werden.
Ähnliche Themen
MySQL: Zeilenumbrüche in MySQL
Tipp | 0 Kommentare
MySQL: Minimale Wortlänge bei der Volltextsuche ändern
Tipp | 1 Kommentar
Größeren Bildschirm an Laptop anschließen
Frage | 1 Antwort
MySQL: CSV Export als auf dem Server gespeicherte Datei
Tutorial | 0 Kommentare
MySQL: CSV Export als automatischer Download
Tutorial | 1 Kommentar
MySQL: Nächsthöhere und kleinere Zahl zu einem Vergleichswert finden
Frage | 1 Antwort
MySQL: Reguläre Ausdrücke in MySQL-Abfragen
Info | 0 Kommentare
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.
MAX() und MIN() kannst du nur verwenden, wenn du den größten Wert aus einer Spalte herausfinden möchtest, also zum Beispiel wie in diesem Beispiel:
Hier bekommen wir aus der Tabelle den minimalsten und den maximalsten Wert, der in der Spalte punkte vorkommt.
Was du benötigst ist GREATEST(). GREATEST() liefert den größten Wert von zwei oder mehreren Werten zurück. Das Gegenstück dazu ist LEAST(), das den kleinsten Wert zurück gibt:
In dem Zusammenhang sollte man auch noch darauf achten, ob einer der gewählten Werte NULL werden kann. Bis MySQL 4.1 gibt GREATEST nur NULL zurück, wenn alle verglichenen Werte NULL sind. Ab MySQL 5.1 wird NULL zurück gegeben, sobald ein Argument NULL ist, also:
Hier kann man zum Beispiel mit COALESCE() arbeiten. COALESCE() gibt den ersten Wert in der Liste wieder, der nicht NULL ist oder NULL wenn alle Werte in der Liste NULL sind.25.10.2011 um 19:47