Posez votre question Signaler

Requete sql

rucht 245Messages postés 27 mai 2004Date d'inscription - Dernière réponse le 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 !!! )
Lire la suite 

Requete sql »

15 réponses
Réponse
+0
moins plus
tu peut faire

select last (titre) from tatable group by series order by no
rucht - 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... )
Ajouter un commentaire
Réponse
+0
moins plus
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"
Ajouter un commentaire
Réponse
+0
moins plus
Slt,
je ne suis pas sur mais essaye ca :
select distinct(serie), max(no), titre from table
dis moi si ca va
rucht - 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 ... )
Ajouter un commentaire
Réponse
+0
moins plus
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]
grofwa - 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]
rucht - 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 ... )
ruchtgrofwa - 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 ... )
Ajouter un commentaire
Réponse
+0
moins plus
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.
rucht - 18 juil. 2004 à 11:19
tu propose quoi ?

rucht ( qui sais pas utiliser les jointures ... )
Ajouter un commentaire
Réponse
+0
moins plus
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]
rucht - 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 ... )
Ajouter un commentaire
Ce document intitulé « requete sql » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Windows 8 - À quoi s'attendre ?