Je veux un Select pour trouver celui qui a bu le plus de café en une journée.
Je ne trouve pas...
Merci
Je veux un Select pour trouver celui qui a bu le plus de café en une journée.
Je ne trouve pas...
Merci
Bonsoir,
Et bien, pas besoin de requête... C'est celui qui est le plus énervé...
Tu aurais plus d'infos, sur tes tables, quelles sont tes colonnes, tu as commencé une requête ?
« Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
- Confucius -
Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
Tous les cours Office
Solutions d'Entreprise
rien commencé. J'ai fait plein de requête auparavant.
Voici la table
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 Programmeur, Jour, NbTasses Gilbert Mon 1 Wally Mon 2 Edgar Tue 8 Wally Tue 2 Eugene Tue 3 Josephine Wed 2 Eugene Thu 3 Gilbert Thu 1 Clarence Fri 9 Edgar Fri 3 Josephine Fri 4 CriCri Mon 4 Alain Mon 8 Anne Tue 5 François Mon 2 Phil Mon 1 Véro Mon 5 Danielle Mon 4 Véro Tue 6 CriCri Tue 3 Danielle Tue 7 Fred Wed 4 Hidde Tue 3 Fred Mon 2 Alain Tue 9 Alain Wen 10
La réponse devrait être
Alain -*> 10 café
Quel est ton SGBD ?
Oracle
Vous devriez vous en sortir avec un sum, group by, having et max normalement.
Bon courage
Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac)
Bizarre comme exercice. Serait-ce un devoir scolaire ?
La requête devrait être celle-ci je pense (non testée)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT Programmeur, Jour, SUM(NbTasse) As Addiction FROM MaTable GROUP By Programmeur, Jour ORDER BY SUM(NbTasse) DESC
Christophe (cavo789)
Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
Pour limiter à un seul programmeur, sous Oracle :
Ou alors il faut utiliser une clause de fenêtrage, mais je ne connais pas trop.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SELECT Programmeur, Jour, Addiction FROM ( SELECT Programmeur, Jour, SUM(NbTasse) As Addiction FROM MaTable GROUP By Programmeur, Jour ORDER BY SUM(NbTasse) DESC ) tmp WHERE ROWNUM <= 1 ;
Effectivement ma requête telle que donne tous les programmeurs par ordre décroissant d'addiction au café. Il faudrait encore faire un TOP 1.
Christophe (cavo789)
Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
Bonjour à tous,
Comme le résultat est fourni par programmeur et par jour:La réponse devrait être
Alain -*> 10 café
Mais Pourquoi café est-il au singulier, est-ce pour forcer la réduction de consommation?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Select Programmeur,'-*>' as SyntaxeUne,NbTasses,'café' as SyntaxeDeux from TableCafetiere where NbTasses in (select MAX(NbTasses) from TableCafetiere) ;
En fait, les requêtes ci-dessus ne sont pas bonnes, car il faut agréger les cafés bus durant les différentes journées.
Ça donne donc, version à la cavo789 :
Version à la code barre invalide! :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SELECT Programmeur, Addiction FROM ( SELECT Programmeur, SUM(NbTasse) As Addiction FROM MaTable GROUP By Programmeur ORDER BY SUM(NbTasse) DESC ) tmp WHERE ROWNUM <= 1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Select Programmeur,'-*>' as SyntaxeUne, SUM(NbTasses) As TotalTasses, 'cafés' as SyntaxeDeux from TableCafetiere HAVING NbTasses >= ALL ( select SUM(NbTasses) from TableCafetiere GROUP BY Programmeur ) ;
J'ai jamais utilisé ceci en Oracle
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ) tmp WHERE ROWNUM <= 1
Je veux mettre le tout dans un ResultSet rs = stmt
.executeQuery()
Je crois qu'il faut que je mettre des guillemets à d'autres endroits
Quelqu'un sait comment ?
java.. désolé
Ici c'est le forum SQL, maintenant que tu as obtenu des réponses concernant la formulation de ta requête, tu dois t'orienter vers le forum JDBC pour savoir comment traiter le résultat.
Je me permets de te redonner le lien de la FAQ JDBC où tu devrais trouver les réponses à tes questions sur les PreparedStatement et les ResultSet. Si toutefois ce n'était pas le cas, tu connais l'adresse du forum JDBC
Les composants SWING | Les layouts SWING | doc javase 6 | CORBA | XSLT | BDD Derby embarquée
Pensez au bouton une fois le problème résolu
Comment utiliser la fameuse balise CODE ?
on peut considérer la partie SQL comme ?
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager