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

Requêtes MySQL Discussion :

Précédent / suivant avec order by date


Sujet :

Requêtes MySQL

  1. #1
    Membre actif
    Inscrit en
    Février 2009
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 616
    Points : 249
    Points
    249
    Par défaut Précédent / suivant avec order by date
    Bonjour,

    Tout est dans le titre, je cherche à récupérer le titre_livre (précédent et suivant) dans une table livres avec un order by date desc ou asc. J'avoue que je ne sais pas du tout comment m'y prendre, si ce n'est d'avoir l'idée de lister la requête retournée via un foreach(array_reverse( ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE bk_date_online>'2020-06-01' LIKE 'BK%' ORDER BY bk_date_online DESC
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE bk_date_online<'2020-06-01' LIKE 'BK%' ORDER BY bk_date_online ASC
    Savez-vous si c'est possible via une requête seulement ?

    Merci d'avance pour votre réponse,

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    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 080
    Points : 30 803
    Points
    30 803
    Par défaut
    Que signifie cette expression ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE bk_date_online>'2020-06-01' LIKE 'BK%'
    Regarde les fonctions LAG et LEAD (si tu utilises au moins la version 8.0).
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 768
    Points : 52 577
    Points
    52 577
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par al1_24 Voir le message
    Que signifie cette expression ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE bk_date_online>'2020-06-01' LIKE 'BK%'
    Encore une incroyable stupidité de MySQL si cela passe sans erreur !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  4. #4
    Membre actif
    Inscrit en
    Février 2009
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 616
    Points : 249
    Points
    249
    Par défaut
    En fait, c'est un exemple, je ne sais pas du tout comment faire... En outre le format '2020-06-01' correspond à mon champ qui est de type DATE.
    LIKE 'BK%' correspond à des références livres, etc.

    La version de MySQL est 5.6.

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 768
    Points : 52 577
    Points
    52 577
    Billets dans le blog
    5
    Par défaut
    cette expression :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE bk_date_online>'2020-06-01' LIKE 'BK%'
    Ne veut strictement rien dire et est impossible à interpréter par n'importe quel SGBD rlationnel digne de ce nom. Hélas MySQmerde fait du n'importe quoi...
    À me lire : https://sqlpro.developpez.com/tutori...mysql-mariadb/

    Ce que vous avez écrit se traduit en bon français par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    POUR LEQUEL bk_date est supérieur à la date du 1/6/2020 commence par BK
    Comme vous le constatez cette phrase ne veut rien dire.
    1) il manque un connecteur logique (ET, OU...)
    2) il manque une expression pour la seconde comparaisons (LIKE)

    Une phrase correcte serait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    POUR LEQUEL bk_date est supérieur à la date du 1/6/2020 ET l'expression truc commence par BK
    en SQL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE bk_date_online>'2020-06-01' AND MonExpression LIKE 'BK%'

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  6. #6
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    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 080
    Points : 30 803
    Points
    30 803
    Par défaut
    Citation Envoyé par dominos Voir le message
    La version de MySQL est 5.6.
    Dommage...
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  7. #7
    Membre actif
    Inscrit en
    Février 2009
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 616
    Points : 249
    Points
    249
    Par défaut
    @SQLpro : merci pour la correction de synthaxe, la syntaxe exacte en MySQL serait plutôt:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE bk_date_online>'2000-06-01' AND bk_references LIKE 'BK%' ORDER BY bk_date_online DESC
    Si j'ai bien compris, c'est donc impossible...

  8. #8
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 768
    Points : 52 577
    Points
    52 577
    Billets dans le blog
    5
    Par défaut
    Non, c'est bien comme cela qu'il faut l'écrire.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  9. #9
    Membre actif
    Inscrit en
    Février 2009
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 616
    Points : 249
    Points
    249
    Par défaut
    bah ça marche pas...

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Seine et Marne (Île de France)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 175
    Points : 138
    Points
    138
    Par défaut
    Tu fait une recherche de livre par date,
    Est tu sur de n'avoir qu'un livre pour une date spécifique.
    Tu ne devrais pas utiliser un datetime plutôt ?

    La première question que je me pose dans ta demande, c'est: Le livre suivant par rapport à quoi?

    Quand tu dis: ça ne marche pas, soit plus précis.
    Tu as une erreur ou bien un mauvais resultat?

  11. #11
    Membre actif
    Inscrit en
    Février 2009
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 616
    Points : 249
    Points
    249
    Par défaut
    @Sylvercis

    Bonjour,

    oui, il n'y a pas plus d'un livre ou deux par semaine qui sont ajouté...

    La première question que je me pose dans ta demande, c'est: Le livre suivant par rapport à quoi?
    Comme expliqué, je cherche à récupérer le titre précédent et suivant (boutons pager) tout en classant ceux-ci par ordre de date croissant ou décroissant...

    Quand tu dis: ça ne marche pas, soit plus précis.
    ça ne retourne pas le bon résultat, tout simplement...


Discussions similaires

  1. Récupérer l'id précedent avec ORDER BY date
    Par dominos dans le forum Requêtes
    Réponses: 7
    Dernier message: 25/02/2016, 11h19
  2. [AC-2010] Naviguer via "Précédent"/"Suivant" avec filtre
    Par Serendipity dans le forum IHM
    Réponses: 0
    Dernier message: 09/12/2015, 15h56
  3. [XL-2013] VBA Copie ligne précédente tableau avec combobox date
    Par joel50 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 31/10/2014, 21h59
  4. Bouton Précédent/suivant avec un recordset
    Par patgag78 dans le forum Access
    Réponses: 1
    Dernier message: 23/10/2013, 20h50
  5. ORDER BY date avec 3 champs
    Par vpourchet dans le forum Développement
    Réponses: 1
    Dernier message: 10/06/2009, 10h57

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