-1
votes

Récupérez tous les enregistrements avec la valeur minimale dans SQL?

Je pratique des requêtes SQL en utilisant une base de données de réservation d'hôtel dans MySQL. Il y a 4 tables qui sont invitées, chambre, hôtel et réservation dans la base de données. Je veux écrire une requête SQL pour récupérer les détails des chambres d'hôtel qui ont le prix le plus bas. Il y a plus d'un enregistrement avec le prix minimum et la tâche est de les récupérer tous et non seulement d'un enregistrement.

SELECT * FROM room ORDER BY Price LIMIT 1;


2 commentaires

A) Ne criez pas avec toutes les capsules. B) N'utilisez pas d'écran pour les données textuelles.


Utilisez du texte pour le texte. Donnez à la table en tant que texte dans des colonnes dans un format de bloc de code. Voir l'aide d'édition. Dans les questions de code donnez un exemple de reproductible minimal . Donc, cette table doit être un code d'initialisation du texte dans des colonnes dans un format de bloc de code. Comment demander centre d'aide


6 Réponses :


1
votes

Si vous souhaitez que tous les enregistrements portent le prix minimum sur l'ensemble de la table, une solution de base de données croisée consiste à filtrer avec une sous-requête corrélée: xxx pré>

selon votre base de données, de meilleures solutions pourraient être disponible. Typiquement, SQL Server a Top 1 avec les cravates CODE>: P>

select *
from (select r.*, rank() over(order by price) rn from room r) t
where rn = 1


0 commentaires

0
votes
SELECT t.*
FROM Room t
LEFT JOIN Room t1 ON t1.Price < t.Price
WHERE t1.Id IS NULL
This assumes your table has an Id column - if it doesn't you can just use WHERE t1.Price IS NULL on the last line.It returns all records for which no lower price exists.

0 commentaires


0
votes

Si vous voulez les chambres avec le prix minimum pour chaque hotel_no , utilisez n'existe pas comme ceci: xxx

si tu veux Juste les chambres avec le prix minimum: xxx


0 commentaires

0
votes

Alternativement vous pouvez essayer Sélectionnez * De la pièce Où Prix = (sélectionnez min (prix) dans la chambre)


0 commentaires

0
votes

La réponse précédente J'ai donné des travaux dans MSSQL, ci-dessous fonctionnera dans MySQL

Sélectionnez * à partir de Chambre Où Prix = (Sélectionnez Min (prix) dans la salle)


0 commentaires