Problème avec max sql
Fermé
pepite
-
Modifié par pepite le 7/11/2011 à 20:24
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 - 9 nov. 2011 à 16:29
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 - 9 nov. 2011 à 16:29
Bonjour,
sur une base de donnée pour la gestion d'agence de location je cherche a retrouvé le plus grand nombre de locations effectuées par un client et afficher les noms et adresses des particuliers qui ont effectué ce plus grand nombre de location. Or lorsque j'utilise le max dans mon select avec un group by sql developer me ressort cette erreur "not a single-group group function" voici le code que de ma requete sql :
select max(count(location.id_clt)), nom_clt
from Location, Clients
where Location.id_clt = Clients.id_clt
group by nom_clt
order by count(location.id_clt) desc;
sur une base de donnée pour la gestion d'agence de location je cherche a retrouvé le plus grand nombre de locations effectuées par un client et afficher les noms et adresses des particuliers qui ont effectué ce plus grand nombre de location. Or lorsque j'utilise le max dans mon select avec un group by sql developer me ressort cette erreur "not a single-group group function" voici le code que de ma requete sql :
select max(count(location.id_clt)), nom_clt
from Location, Clients
where Location.id_clt = Clients.id_clt
group by nom_clt
order by count(location.id_clt) desc;
A voir également:
- Problème avec max sql
- I14 pro max - Accueil - Guide téléphones
- Driver max - Télécharger - Pilotes & Matériel
- Max ou netflix - Accueil - Streaming
- Sql (+) - Forum Programmation
- Réinitialiser kidicom max - Forum Téléphones & tablettes Android
2 réponses
JooS
Messages postés
2468
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
228
Modifié par JooS le 7/11/2011 à 22:27
Modifié par JooS le 7/11/2011 à 22:27
Salut ...
La fonction MAX de SQL a pour but de sélectionner le plus grand nombre d'un champ donnée, or, il ne renvoi qu'un seule résultat ...
Don la requête devrait être ...
Sinon, explique mieux ton système pour qu'on puisse mieux t'aider ...
La fonction MAX de SQL a pour but de sélectionner le plus grand nombre d'un champ donnée, or, il ne renvoi qu'un seule résultat ...
Don la requête devrait être ...
SELECT MAX(champ_donnee) AS mon_champ FROM table
Sinon, explique mieux ton système pour qu'on puisse mieux t'aider ...
Donc si tu veux je dois créer une requête qui réponde a cette question : "Trouver le plus grand nombre de locations effectuées par un client et afficher les noms et adresses des particuliers qui ont effectué ce plus grand nombre de locations" et les tables utilisées pour les recherches sont en langage sql
CREATE TABLE CLIENTS (
id_clt NUMBER(5) primary key,
nom_clt varchar(20),
prenom_clt varchar(20),
ville_clt varchar(20) NOT NULL,
rue_clt varchar(20) NOT NULL,
cp_clt NUMBER NOT NULL,
entreprise_clt varchar(20),
type_clt varchar(20) NOT NULL
);
CREATE TABLE LOCATION (
id_loc NUMBER(5) primary key,
date_depart_loc DATE,
date_retour_loc DATE,
agence_depart_loc NUMBER(5),
agence_retour_loc NUMBER(5),
kilometre_par_loc NUMBER,
id_veh NUMBER(5),
id_clt NUMBER(5),
constraint fk_id_veh FOREIGN KEY (id_veh) REFERENCES VEHICULE (id_veh),
constraint fk_id_clt FOREIGN KEY (id_clt) REFERENCES CLIENTS (id_clt),
constraint fk_date_d_loc FOREIGN KEY (agence_depart_loc) REFERENCES AGENCE (id_ag),
constraint fk_date_r_loc FOREIGN KEY (agence_retour_loc) REFERENCES AGENCE (id_ag)
);
CREATE TABLE CLIENTS (
id_clt NUMBER(5) primary key,
nom_clt varchar(20),
prenom_clt varchar(20),
ville_clt varchar(20) NOT NULL,
rue_clt varchar(20) NOT NULL,
cp_clt NUMBER NOT NULL,
entreprise_clt varchar(20),
type_clt varchar(20) NOT NULL
);
CREATE TABLE LOCATION (
id_loc NUMBER(5) primary key,
date_depart_loc DATE,
date_retour_loc DATE,
agence_depart_loc NUMBER(5),
agence_retour_loc NUMBER(5),
kilometre_par_loc NUMBER,
id_veh NUMBER(5),
id_clt NUMBER(5),
constraint fk_id_veh FOREIGN KEY (id_veh) REFERENCES VEHICULE (id_veh),
constraint fk_id_clt FOREIGN KEY (id_clt) REFERENCES CLIENTS (id_clt),
constraint fk_date_d_loc FOREIGN KEY (agence_depart_loc) REFERENCES AGENCE (id_ag),
constraint fk_date_r_loc FOREIGN KEY (agence_retour_loc) REFERENCES AGENCE (id_ag)
);
JooS
Messages postés
2468
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
228
8 nov. 2011 à 10:36
8 nov. 2011 à 10:36
Euuux, tu dis "...de locations effectuées par un client...", puis "...des particuliers qui ont effectué ce plus grand...", les clients sont les particuliers ou quoi ?!!
Bref ...
Le clients ajoutent(proposent) des locations qu'on peut distinguer via leur id_loc.
Des personnes intéressés(particuliers) postulent une demande pour une location (voir plusieurs) ...
Alors, quand ils postulent, qu'est ce qui se passe ?? il manque surement une table ou leurs demandes sont insérés ... non ?!
a toi de m'éclaircir ...
Bref ...
Le clients ajoutent(proposent) des locations qu'on peut distinguer via leur id_loc.
Des personnes intéressés(particuliers) postulent une demande pour une location (voir plusieurs) ...
Alors, quand ils postulent, qu'est ce qui se passe ?? il manque surement une table ou leurs demandes sont insérés ... non ?!
a toi de m'éclaircir ...
JooS
Messages postés
2468
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
228
9 nov. 2011 à 16:29
9 nov. 2011 à 16:29
Je comprendrai mieux en écrit ...
Un client(agence) ajoute une annonce ...
Quand un particulier est intéressé par l'annonce, il postule, alors normalement, tu ajoute une entré dans une table avec l'id du particulier, et l'id de l'annonce ... c'est ça ?!
Un client(agence) ajoute une annonce ...
Quand un particulier est intéressé par l'annonce, il postule, alors normalement, tu ajoute une entré dans une table avec l'id du particulier, et l'id de l'annonce ... c'est ça ?!