IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

[MySQL] Tri par nom de jour de la semaine.


Sujet :

Langage SQL

  1. #1
    Membre habitué Avatar de condor_01
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    294
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 294
    Points : 133
    Points
    133
    Par défaut [MySQL] Tri par nom de jour de la semaine.
    Salut les ami(e)s,
    J'ai une table:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    date                 volume             jour
    ---------          -------           -------
    2006-08-15        250                Tuesday
    2006-08-21        126                Monday
    2006-08-18        352                Friday
    Je fais une requête et je veux que le résultat soit trié par l'ordre des jours de la semaine.
    c'est à dire Monday,tuesday,wednesday,thursday,friday,saturday,sunday.
    Est ce qu'il y'a une syntaxe à utiliser pour spécifier ces champs dans la clause order by ??
    Merci d'avance.

  2. #2
    Expert éminent
    Avatar de raptor70
    Inscrit en
    Septembre 2005
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Septembre 2005
    Messages : 3 173
    Points : 6 812
    Points
    6 812
    Par défaut
    Pourquoi ajoute tu un champs jour ? Normallement, selon le SGBD, tu peut récupérer ce jour à partir de la date (si les deux correspondent...)
    Sinon, au lieu de mettre le nom du jour, tu créé une table SEMAINE :
    id jour
    1 Monday
    2 Tuesday
    3 etc...

    et dans ta table, tu met les chiffre, et tu classe par les chiffres...
    Pour l'affichage, soit tu fait une jointure, soit tu le fait direct dans le code : 1=> Monday, 2=>Tuesday , etC...

  3. #3
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 109
    Points : 28 437
    Points
    28 437
    Par défaut
    Il faudrait connaître ton SGBD pour pouvoir te répondre...
    Si tu utilises déjà une fonction pour extraire le nom du jour de la date, il doit certainement en exister une pour te donner l'ordre du jour dans la semaine...
    Expression à utiliser dans ta clause order by.

  4. #4
    Membre habitué Avatar de condor_01
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    294
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 294
    Points : 133
    Points
    133
    Par défaut
    Salut, mon SGBD c'est le MySQL.
    J'ai ajouté la colonne 'jour' pour voir en clair les jours quand j'accède à ma table.
    En plus je vais faire un groupage par nom de jour pour toutes les dates.

  5. #5
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Si je consulte Toutes les fonctions de SQL,
    et plus précisement 1.7. Fonctions temporelles,
    je pense que la fonction DAYOFWEEK devrait te donner ce que tui veux, je pense également qu'il est inutile d'aller surcharger ta table avec une nouvelle colonne pour une info qui sera redondante

  6. #6
    Membre habitué Avatar de condor_01
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    294
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 294
    Points : 133
    Points
    133
    Par défaut
    Voila ma requete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    SELECT jour,avg(volume) as moyenne 
    from test.proxy_volume where (month(date)='8')and (year(date)='2006') group by jour
    Le problème c'est que j'ai à faire la moyenne des volumes des différentes dates. Et le groupage sera par nom de jour (monday, tuesday,....).
    Et puis je veux faire le
    order by 'nom de jour de la semaine'

    Merci pour vos réponses.

  7. #7
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    As-tu essayé avec la clause
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORDER BY DAYOKWEEK(Date)
    En passant, je pense que ton champ ne s'appelle pas "Date", c'est juste pour l'exemple que tu l'as baptisé ainsi ?

  8. #8
    Membre habitué Avatar de condor_01
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    294
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 294
    Points : 133
    Points
    133
    Par défaut
    D'accord.
    Merci beaucoup votre aide.
    Le problème est résolu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. tri par nom de fichier et boucle
    Par mederik dans le forum Shell et commandes POSIX
    Réponses: 7
    Dernier message: 19/12/2011, 11h36
  2. ORDER BY modelId (mais faire tri par nom du modele)
    Par Sayrus dans le forum Requêtes
    Réponses: 5
    Dernier message: 14/02/2011, 15h01
  3. [MySQL] MySql tri par ordre qui ne marche pas
    Par Invité dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 17/06/2010, 17h12
  4. Tri par nom sans doublons et le compter chaque visite
    Par epiouf dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 19/06/2009, 16h02
  5. Tri par nom de jour de la semaine.
    Par condor_01 dans le forum JDBC
    Réponses: 2
    Dernier message: 21/08/2006, 10h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo