In meiner Anfrage hiereine Abfrage enthält MAX() und MIN() mit ihren eigenen Bedingungen
$Query = "SELECT id, name FROM names WHERE age = 18 LIMIT 1";
I MIN()
und MAX()
mit einer Bedingung hinzugefügt werden soll, als ob ich eine andere Abfrage wie diese
$MQuery = "SELECT MAX/MIN(age) FROM names LIMIT 1";
Meine Lösung wurde die Zusammenlegung der drei Abfragen zusammen, wie diese
$Query = "SELECT id, name,
(SELECT MAX(age) FROM names WHERE age = 18 AND age > 18 LIMIT 1) as MAX,
(SELECT MIN(age) FROM names WHERE age = 18 AND age < 18 LIMIT 1) as MIN
FROM names WHERE age = 18 LIMIT 1";
Aber ich frage mich, ob es eine effizientere Art und Weise und schneller, es zu schreiben, wie
$Query = "SELECT id, name,
(MAX(age) WHERE age > 18) as MAX,
(MIN(age) WHERE age < 18) as MIN
FROM names WHERE age = 18 LIMIT 1";
auch, Gibt es eine Idee von LIMIT 1
oder DISTINCT
mit MAX/MIN()
-nur Abfragen mit?
Was ich erwarte, ist, dass, wenn es 17
Alter 19
oder Alter ist es MIN
und MAX
mit zu fangen, wenn sie
[id - name - max -min
[1 - Mario - 19 - 17]
Tisch sein würde wie
[id - name - age]
[1 - mario - 18]
[2 - arizo - 18]
[3 - bruno - 17]
[4 - arizo - 19]
[5 - mario - 18]
Was Willst du fertig werden? Was ist die erforderliche Ausgabe? – Vashi
@Vashi Ich möchte das nächste/vorherige 'Alter' erhalten, wenn sie existieren .. wird jetzt ein Beispiel hinzufügen – Toleo
Nächste/vorherige Alter wrt 18? – Vashi