Requete sql

Fermé
rucht Messages postés 248 Date d'inscription jeudi 27 mai 2004 Statut Membre Dernière intervention 18 juillet 2008 - 15 juil. 2004 à 14:30
rucht Messages postés 248 Date d'inscription jeudi 27 mai 2004 Statut Membre Dernière intervention 18 juillet 2008 - 20 juil. 2004 à 01:04
bonjour tout le monde !!!

j' ai un probleme ! ( sinon je serai pas en train d' ecrire ce post me direz vous ... )

voila :

j' ai un tableau a troi champ "utile" : 'titre' , 'no' , 'serie'

c pour ranger des boukin

j' aimerai affichez le titre du dernier no de chaque serie !

quelle est la bonne requete pour faire exactement sa ??

sa fait trois jour que je galaire !

help please !!! ( appel desepere...)

rucht ( qui galaire meme en vacance !!! )

6 réponses

grofwa Messages postés 440 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 21 juillet 2006 479
19 juil. 2004 à 10:46
Salut,

En MySql, tu peux faire ceci :

SELECT titre, MAX(numero), serie
FROM tab
GROUP BY serie

Et ça marche !!!!
(mais n'essaie pas sous Oracle !)

Michael.

Ne vous souciez pas de n'être pas remarqué ; cherchez 
plutôt à faire quelque chose de remarquable [Confucius]
1
rucht Messages postés 248 Date d'inscription jeudi 27 mai 2004 Statut Membre Dernière intervention 18 juillet 2008 1
20 juil. 2004 à 01:04
je sais mais je ne veut que le titre du plus grand numero !

j' ai une methode speciale pour traiter les info et sa bugue quand je recupere plusieur chose avec le select ( mais apres j' ai des faciliter partout ... ) quand je fais sa la requete marche mais sa bugue quand je traite l' info !

il me faut donc un " select titre from ... "

rucht ( qui n' utilise pas la meilleure methode mais qui la trouve pratique ... )
0
tu peut faire

select last (titre) from tatable group by series order by no
0
rucht Messages postés 248 Date d'inscription jeudi 27 mai 2004 Statut Membre Dernière intervention 18 juillet 2008 1
15 juil. 2004 à 14:48
il y a un erreur !!!

voila :
Erreur

requête SQL :

SELECT last(

titre
)
FROM TABLE
GROUP BY serie
ORDER BY no

MySQL a répondu:


#1064 - Erreur de syntaxe près de '( titre )
FROM TABLE
GROUP BY serie
ORDER BY no' à la ligne 1

je ne connait pas la fonction 'last' donc je ne vois pas ce qui cloche ci qq 'un voit ...

rucht ( qui cherche quand meme... )
0
blux Messages postés 26581 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 8 janvier 2025 3 323
15 juil. 2004 à 15:54
La fonction last est propre à ACCESS, me semble-t'il...
En SQL standard, il existe max qui renvoie la plus grande valeur d'un champ.

A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
0
LeSousss Messages postés 149 Date d'inscription vendredi 30 avril 2004 Statut Membre Dernière intervention 23 juillet 2010 15
15 juil. 2004 à 16:04
Slt,
je ne suis pas sur mais essaye ca :
select distinct(serie), max(no), titre from table
dis moi si ca va
0
rucht Messages postés 248 Date d'inscription jeudi 27 mai 2004 Statut Membre Dernière intervention 18 juillet 2008 1
15 juil. 2004 à 19:10
non:

Erreur

requête SQL :

SELECT DISTINCT (

serie
), max( no ) , titre
FROM `TABLE`
LIMIT 0 , 30

MySQL a répondu:


#1140 - Mélanger les colonnes GROUP (MIN(),MAX(),COUNT()...) avec des colonnes normales est interdit s'il n'y a pas de clause GROUP BY


et je vois pas commen y remedier...

rucht ( qui va chercher ... )
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
grofwa Messages postés 440 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 21 juillet 2006 479
15 juil. 2004 à 16:24
Je dirais comme ceci :

select titre
from table t1, (select max(no)max_no, serie from table group by serie) t2
where t1.NO = t2.max_no
and t1.serie = t2.serie


En Oracle, ça fonctionnera.
Ne vous souciez pas de n'être pas remarqué ; cherchez 
plutôt à faire quelque chose de remarquable [Confucius]
0
rucht Messages postés 248 Date d'inscription jeudi 27 mai 2004 Statut Membre Dernière intervention 18 juillet 2008 1
15 juil. 2004 à 19:13
sa marche pas non plus :

Erreur

requête SQL :

SELECT titre
FROM `TABLE` t1, (


SELECT max( no ) max_no, serie
FROM TABLE GROUP BY serie
)t2
WHERE t1.NO = t2.max_no AND t1.serie = t2.serie

MySQL a répondu:


#1064 - Erreur de syntaxe près de 'SELECT max( no ) max_no, serie
FROM TABLE GROUP BY serie )t2
' à la ligne 3


mais vu que j' utilise mysql c 'est peut etre normal ...

rucht ( qui va chercher de ce cote la aussi ... )
0
grofwa Messages postés 440 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 21 juillet 2006 479
15 juil. 2004 à 21:48
Evidemment, si j'avais lu tout, j'aurais vu :-(

Tu es obligé de faire une seule requête ? Sinon, tu fais
SELECT max( no ) max_no, serie 
FROM TABLE GROUP BY serie


et puis pour chaque max_no et serie, tu vas chercher le titre de la BD
c'est des bd, non ? Je dis ça parce que je l'ai fait pour moi, mais c'était en delphi à l'époque.

michael.

Ne vous souciez pas de n'être pas remarqué ; cherchez 
plutôt à faire quelque chose de remarquable [Confucius]
0
grofwa Messages postés 440 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 21 juillet 2006 479
15 juil. 2004 à 22:14
Bon, d'après la doc Mysql (mais j'ai pas réussi à trouver à partir de quelle version), ceci est possible :
SELECT titre, serie
FROM tab
WHERE (numero, serie) IN
( SELECT max(numero) as numero, serie
FROM tab
GROUP BY serie)

Mais sinon, en cherchant un peu sur le net (google(mysql select where +in group by subquery)), j'ai trouvé le même problème que toi, et il confirme ce que j'ai mis dans le commentaire précédent.

A toi de voir !
http://www.webhostingtalk.com/showthread.php?threadid=211593

Ne vous souciez pas de n'être pas remarqué ; cherchez 
plutôt à faire quelque chose de remarquable [Confucius]
0
rucht Messages postés 248 Date d'inscription jeudi 27 mai 2004 Statut Membre Dernière intervention 18 juillet 2008 1 > grofwa Messages postés 440 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 21 juillet 2006
17 juil. 2004 à 22:01
oui c 'est pour des bd !

j' ai pas pu teste ta methode j' ai pas le bon ordi sous la main ...

d' apres ce que j' ai compri (je debute ... )
il est possible de faire sa :

SELECT titre
FROM tab
WHERE (numero, serie) IN
( SELECT max(numero) as numero, serie
FROM tab
GROUP BY serie)


ou le
serie
dans le premier select est indispenssable ?

rucht ( qui utilise un methode speciale pour traiter ces info ... )
0
rucht Messages postés 248 Date d'inscription jeudi 27 mai 2004 Statut Membre Dernière intervention 18 juillet 2008 1 > grofwa Messages postés 440 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 21 juillet 2006
18 juil. 2004 à 11:17
requête SQL :

SELECT titre, serie
FROM `table`
WHERE (

numero, serie
)
IN (

SELECT max( numero ) AS numero, serie
FROM `table`
GROUP BY serie
)
LIMIT 0 , 30

MySQL a répondu:


#1064 - Erreur de syntaxe près de ' serie )
IN (
SELECT max( numero ) AS numero, serie
FROM `tab' à la ligne 3

sa ne marche pas !!

:-(

rucht ( qui cherche ... )
0
Bonjour
Les requêtes imbriquées n'existent pas encore avec MySql.
Je crois que ce sera dans la version 4.1.
Il faut passer par les jointures.
0
rucht Messages postés 248 Date d'inscription jeudi 27 mai 2004 Statut Membre Dernière intervention 18 juillet 2008 1
18 juil. 2004 à 11:19
tu propose quoi ?

rucht ( qui sais pas utiliser les jointures ... )
0