Kleinster Wert, aber nicht 0
Lydia.h
- datenbank
Hallo Ihr Lieben,
ich habe Werte in einer Spalte von 0, 10, 100, 1000.
Jetzt suche ich den kleinsten Wert 10.
SELECT IF (Spalte> 0, min( Spalte ) , NULL
) AS Sonder
FROM tabelle
Aber ich kriege leider immer eine 0.
Kann mir jemand auf die Sprünge helfen, bitte?
Liebe Grüße
Lydia.h
Hi,
SELECT IF (Spalte> 0, min( Spalte ) , NULL
) AS Sonder
FROM tabelle
habs net ausprobiert, aber
select min(Spalte) from tabelle where Spalte > 0
sollte eigentlich klappen.
mfG,
steckl
Hallo Steckl,
danke für den Tipp.
Allerdings kann ich nun den Origianl-Preis nicht mehr ermitteln, daher dachte ich, die Bedingung muss in das Select.
Meine Daten:
ID Sonderpreis Preis
1 10 20
1 0 5
Wenn ich nun mit WHERE den Sonderpreis prüfe, erhalte ich den kleinsten Preis nicht mehr:
Dein Beispiel in der Erweiterung:
SELECT min(Sonderpreis), min(Preis) FROM tabelle WHERE Sonderpreis>0
Ich brauche also die 5 in einer Spalte als kleinsten Preis, damit ich schreiben kann "ab 5"
Hast Du da noch einen Tipp?
Liebe Grüße
Ly.
Hi,
SELECT IF (Spalte> 0, min( Spalte ) , NULL
) AS Sonder
FROM tabellehabs net ausprobiert, aber
select min(Spalte) from tabelle where Spalte > 0
sollte eigentlich klappen.mfG,
steckl
Hi,
Allerdings kann ich nun den Origianl-Preis nicht mehr ermitteln, daher dachte ich, die Bedingung muss in das Select.
Meine Daten:
ID Sonderpreis Preis
1 10 20
1 0 5
Ich brauche also die 5 in einer Spalte als kleinsten Preis, damit ich schreiben kann "ab 5"
Hast Du da noch einen Tipp?
Wenn ich dich richtig verstanden habe schon:
Du kannst alle auslesen und dann mit "order by" nach Spalte aufsteigend sortieren und dann mit limit 2 nur die ersten beiden Datensätze auslesen.
Das wäre dann der mit der 0 und mit der 10.
mfG,
steckl
yo,
Allerdings kann ich nun den Origianl-Preis nicht mehr ermitteln, daher dachte ich, die Bedingung muss in das Select.
das liegt daran, dass du in deinem ersten beitrag nicht genau dein problem beschrieben hast. deswegen ist es immer besser, gleich beispiele mit anzugeben, sprich welche daten habe ich, welche will ich als ergebnis bekommen. wichtig sind dann auch immer angaben über das dbms und die version. das macht es einfacher für uns zu helfen.
Ich brauche also die 5 in einer Spalte als kleinsten Preis, damit ich schreiben kann "ab 5"
select MIN(preis), min(IF(Sonderpreis = 0, NULL, Sonderpreis))
FROM tabelle
;
Vielen Dank für das Beispiel, jetzt habe ich es auch begriffen.
Liebe Grüße
Lydia.
yo,
Allerdings kann ich nun den Origianl-Preis nicht mehr ermitteln, daher dachte ich, die Bedingung muss in das Select.
das liegt daran, dass du in deinem ersten beitrag nicht genau dein problem beschrieben hast. deswegen ist es immer besser, gleich beispiele mit anzugeben, sprich welche daten habe ich, welche will ich als ergebnis bekommen. wichtig sind dann auch immer angaben über das dbms und die version. das macht es einfacher für uns zu helfen.
Ich brauche also die 5 in einer Spalte als kleinsten Preis, damit ich schreiben kann "ab 5"
select MIN(preis), min(IF(Sonderpreis = 0, NULL, Sonderpreis))
FROM tabelle
;