Rechercher : dans
Par :

Le max en SQL ??

Dernière réponse le 20 jun 2009 à 01:47:15 mabouze, le 4 jun 2002 à 13:45:28 
 Signaler ce message aux modérateurs

Dans une clause WHERE : kel est l'instruction a taper pour selectionner le max d'une colonne
moi g mis :

SQL = "SELECT * FROM matable"
SQL = SQL & "WHERE (ANNEE=MAX(ANNEE))"

mais ca marche pas!

Meilleures réponses pour « le max en SQL ?? » dans :
Gestion des paramètres SQL VoirSQL présente un certain nombre de paramètres au niveau d'Oracle qu'il est possible de visualiser à travers la commande : SHOW ALL Pour modifier la valeur d'un paramètre il suffit d'utiliser la commande : SET NOM_PARAM VALEUR
ORA-01630 : max # extents (extent) reached in temp segment VoirORA-01630 : max # extents (extent) reached in temp segment in tablespace nom_tab_space Cause : Un segment temporaire essaye d’étendre MAXEXTENTS. Action : Si MAXEXTENTS pour la tablespace est inférieur au maximum du système, vous pouvez...
Visual FoxPro et SQL-Server VoirVisual Foxpro 9 et SQL-Server 2005 Quoi de mieux que Visual FoxPro pour bien utiliser SQL-Server ? Voici une question intéressante ! Pour plus d'information voir l'article de Joël Post http://www.cyberfoxpro.com/joel et les fichiers...
Le langage SQL VoirQu'appelle-t-on SQL? SQL (Structured Query Language, traduisez Langage de requêtes structuré) est un langage de définition de données (LDD, ou en anglais DDL Data Definition Language), un langage de manipulation de données (LMD, ou en anglais DML,...
SQL - Création de table VoirLe SQL, comportant un langage de définition de données (LDD), permet de créer des tables. Pour cela, il utilise le couple de mots clés CREATE TABLE. La création de tables Le création de tables se fait à l'aide du couple de mots-clés CREATE...
SQL - Commande SELECT VoirLe langage de manipulation de données Le SQL est à la fois un langage de manipulation de données et un langage de définition de données. Toutefois, la définition de données est l'oeuvre de l'administrateur de la base de données, c'est pourquoi la...

1

Peguinette, le 4 jun 2002 à 13:52:30

Je ne comprend pas trop ce que tu cherches à faire avec :
ANNEE=MAX(ANNEE)
mais la synthaxe est bonne.

Par contre tu fais une concaténation, et il serait bon que tu rajoutes un espace avant le WHERE ou après le nom de ta table.

Peguinette...
"Petit à petit on devient moins petit."

Répondre à Peguinette

2

mabouze, le 4 jun 2002 à 14:07:15

Ben en fait a l'origine jaV mis :
SQL = "SELECT * FROM interessement_Dough "
SQL = SQL & "WHERE ANNEE=2002"

ca ca march ss pb...

mais mainant il faurt ken 2003 ca affiche les infos de 2003...

et pour pas a avoir a retourner dans le code tous les ans il fau ke jutilise la fonction MAX mais ca marche pas ... Soit la syntaxe est pas bonne, soit on ne peut pas utiliser de MAX dans la clause WHERE... je suis en train de cherché sur d'autres sites... en vain!

Répondre à mabouze

3

Peguinette, le 4 jun 2002 à 14:12:40

Effectivement tu ne doit pas pouvoir mettre de MAX dans ta clos Where.

De toute maniere, vu ce que tu me dis, il te suffit de mettre :
SQL = "SELECT * FROM interessement_Dough "
SQL = SQL & "WHERE ANNEE=2003"

Peguinette...
"Petit à petit on devient moins petit."

Répondre à Peguinette

4

mabouze, le 4 jun 2002 à 14:15:34

Ouais ca va je suis pas triso non plus! !
le pb c qd 2003 2004 2005 2006 etc il n'y a
ura pas d'administrateur pour le site intranet que je crée...capice?!

Répondre à mabouze

7

teebo, le 4 jun 2002 à 14:52:59

Peace! ;-)
Teebo est arrive! ;-)))))
SELECT * from table WHERE champ=(SELECT MAX(champ FROM table);
Tu remplaces champs et table et tu coupes ou tu veux, mais ca ca doit marcher theoriquement!!!
.  .
\_/

Répondre à teebo

8

teebo, le 4 jun 2002 à 14:53:47

Peace! ;-)
Teebo est arrive! ;-)))))
SELECT * from table WHERE champ=(SELECT MAX(champ) FROM table);
J'avais oublie une parenthese, c'est mieux comme ca... ;-)

HE LES MODOS; C'EST PAS UN DOUBLON!!!! ;-PPPP
.  .
\_/

Répondre à teebo

9

Peguinette, le 5 jun 2002 à 18:00:26

Si tu poses ton problème en montrant simplement ta solution qui ne marche pas, il y a de grandes chances pour que les autres ne comprennent pas le raisonnement qui t'a amené là.

Il est donc souvent préférable d'expliquer ce que tu cherches à faire, puis la solution que tu as imaginée (et qui en l'occurence ne marche pas).

Car dans ton cas, il ne faut pas faire un MAX, la démarche n'est pas logique et impropre. Il est préférable que tu récupères (dans le lagage que tu utilises) l'année courante et qu'ensuite tu mettes dans ta close WHERE :
WHERE CHAMP_ANNEE = annee_courante;

Capice ?
LOL!

Peguinette...
"Petit à petit on devient moins petit."

Répondre à Peguinette

5

kevin, le 4 jun 2002 à 14:43:56

ANNEE c'es t koi, une variable, une table, le champ d'une table....?


Si les date sont stockées dans une table il faut, a mon avis, que tu fasses un Select imbriqué pour recuperer le max de la date dans laquelle elle est stockée.
SQL = "SELECT * FROM matable"
SQL = SQL & "WHERE (SELECT max(annee) FROM TABLE_CONTENANT_LES_ANNEE)"

si c'est une variable, tu dois pouvoir recuperer la date courante, extraire l'année et la concaténet à ta requete SQL

SQL = "SELECT * FROM interessement_Dough "
SQL = SQL & "WHERE ANNEE="
SQL = SQL & (String)variable_année (la sytaxe est approximative car c du vb on dirait mas je connais pas vraiment la syntaxe...)

en esperant avoir ete assez clair

Kevin

Répondre à kevin

6

mabouze, le 4 jun 2002 à 14:51:46

Une amie ma donnée une solution au cas ou ca tinteresseré

SQL = "SELECT * FROM interessement_Dough "
SQL = SQL & "WHERE ANNEE="&year(date)

Répondre à mabouze

10

fadily, le 12 nov 2007 à 13:09:52

Bonjour
est ce que possible de faire le max sur une ligne
et merci

Répondre à fadily

11

 hamoudaman, le 20 jun 2009 à 01:47:15

Select Max (Mon_id) from Ma_table

Répondre à hamoudaman