Ich habe eine Tabelle mit dem Namen 'Houses', die die Felder 'house_id', 'house_type', 'bhk_detail', 'bed_count', 'Einrichtungstyp', 'Beds_vacant' enthält ". Jetzt muss ich eine Abfrage schreiben, um die Hausdetails des Hauses mit der höchsten Belegung zu erhalten, die bed_count - bed_vacant. Ich habe versucht, so etwas wie dieses:Geben Sie alle Zeilen mit MAX-Wert zurück, basierend auf der Berechnung in zwei Spalten
SELECT hs.house_id, hs.house_type , hs.bhk_details, hs.bed_count , hs.furnishing_type, hs.Beds_vacant,
max(hs.bed_count - hs.Beds_vacant
FROM Houses as hs
GROUP BY hs.house_id, hs.house_type, hs.bhk_details, hs.bed_count, hs.furnishing_type, hs.Beds_vacant
HAVING MAX(hs.bed_count - hs.Beds_vacant)IN (SELECT max(hs.bed_count - hs.Beds_vacant) FROM Houses as hs)
Die Abfrage für mich gearbeitet, aber ich frage mich, ob wir es eben mehr schreiben kann