J'ai une table nommée 'Maisons' qui contient les champs 'house_id', 'house_type', 'bhk_detail', 'bed_count', 'furnishing_type', 'Beds_vacant '. Maintenant, j'ai besoin d'écrire une requête pour obtenir les détails de la maison de la maison ayant la plus forte occupation bed_count - bed_vacant. J'ai essayé quelque chose comme ceci:Retourne toutes les lignes avec la valeur MAX basée sur le calcul effectué sur deux colonnes
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)
La requête a fonctionné pour moi, mais je me demandais si nous pouvons écrire plus précisément