Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/07/2011, 16h04   #1
Invité de passage
 
Inscription : juin 2009
Messages : 12
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 12
Points : 0
Points : 0
Par défaut max résultats par select

Bonjour à tous !!
Bon je n'ai pas vraiment trouvé de bon titre pour ma question sorry ..

SGBD Oracle, requete avec SQL Developper
Ma question :
dans une table j'ai un champ marque et un champ modele (de voiture, c'est un exemple)
J'aimerais par exemple avoir max 3 modeles de voiture par marque

(les 3 premiers qui viennent quoi)
Renault - clio
Renault - megane
Renault - scenic
Peugeot - 106
Peugeot - 206
Peugeot - 306

....

je précise que je veux tout de même avoir toutes les marques, et sans requête imbriquée si possible sinon tant pis

Meme si la marque contient bien plus de modeles..

Est-ce possible ?

Je vous remercie ;-)
alyjeje est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 16h07   #2
Expert Confirmé
 
Homme
Inscription : mai 2002
Messages : 1 638
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 1 638
Points : 2 630
Points : 2 630
bonjour,

Code :
1
2
3
4
5
6
7
8
 
WITH TMP AS (
SELECT marque, modele, row_number() over(partition BY marque ORDER BY modele) AS rnk
FROM ma_table)
 
SELECT marque, modele
FROM tmp
WHERE rnk < 4

edit : il y a peut être une fonction de fenêtrage plus adaptée à votre exemple précis, je vous laisse chercher
punkoff est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h53.


 
 
 
 
Partenaires

Hébergement Web