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 :

requette sur une date


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 155
    Points : 88
    Points
    88
    Par défaut requette sur une date
    Bonjour a tous,

    J'ai une table pour mes statistiques comme ceci:

    ---------------------
    id - ip - url - date-
    ---------------------

    Le format de la colonne date est comme ceci:

    2005-03-27 14:00:35

    J'aimerais une requette qui compte combien il y a eu d'ip différentes pour par exemple la date 2005-03-27 de 14:00:00 à 16:00:00

    Comment faire ceci?

    merci d'avance

  2. #2
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut

    je vais surement tomber dans le panneau mais ça marche pas ça :
    SELECT DISTINCT ip
    FROM taTable
    WHERE date BETWEEN 2005-03-27 14:00:00 AND 2005-03-27 16:00:00

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 30
    Points : 36
    Points
    36
    Par défaut
    un truc comme
    select count(distint(ip)) from taTable
    where date > to_date('2005-03-27 14:00:00','yyyy-MM-dd HH24:MI:SS') and date < to_date('2005-03-27 16:00:00','yyyy-MM-dd HH24:MI:SS')

    non ?

  4. #4
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    je pensais que c'était déjà des dates pas des varchar

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 155
    Points : 88
    Points
    88
    Par défaut
    arf
    ya une erreur de syntaxe

    MySQL a répondu:

    #1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '(ip)) from pp_stats
    where date > to_date('2005-03-27 14:00:00'
    vous avez une idee?

  6. #6
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    tu peux nous montrer ta requête qui te donne cette erreur :

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 155
    Points : 88
    Points
    88
    Par défaut
    jcroi ke ya un bleme avec le distinct, non?

    merci d'avance

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select count(distinct(ip)) from pp_stats
    where date > to_date('2005-03-27 14:00:00','yyyy-MM-dd HH24:MI:SS') and date < to_date('2005-03-27 16:00:00','yyyy-MM-dd HH24:MI:SS')

  8. #8
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Citation Envoyé par AlphonseBrown
    jcroi ke ya un bleme avec le distinct, non?
    Quand j'aurais la traduction en français, je pourrais peut-être répondre.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 155
    Points : 88
    Points
    88
    Par défaut
    désolé pour le langage sms , j'ai pa fait exprès

    je disais je crois qu'il y a un problème avec le distinct , non?

  10. #10
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Non, ce n'est le distinct, c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    to_date('2005-03-27 14:00:00','yyyy-MM-dd HH24:MI:SS')
    qui correspond à une syntaxe ORACLE et non mySQL.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 155
    Points : 88
    Points
    88
    Par défaut
    merci

    il faut que j'utilise ADDDATE('1998-01-02', 31) non?

    mais comment l'inserer dans ma requette, dans le where ou dans le select?

    merci d'avance

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 30
    Points : 36
    Points
    36
    Par défaut
    non tu peux essayer avec STR_TO_DATE

    select count(distinct(ip)) from pp_stats
    where date > str_to_date('2005-03-27 14:00:00','%Y-%m-%d %H:%i:%s') and date < to_date('2005-03-27 16:00:00','%Y-%m-%d %H:%i:%s')

    pas teste

  13. #13
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 847
    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 847
    Points : 52 961
    Points
    52 961
    Billets dans le blog
    6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT COUNT(DISTINCT IP)
    FROM   taTable
    WHERE  "date" BETWEEN '2005-03-27 14:00:00' AND '2005-03-27 16:00:00'
    Doit suffir !

    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/ * * * * *

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 155
    Points : 88
    Points
    88
    Par défaut
    merci, j'ai fait cette requette , elle ne marchait pas a cause des guillemets sur date, celle ci marche par exemple:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT COUNT( * ) 
    FROM pp_stats
    WHERE date
    BETWEEN '2005-04-02 10:00:00'
    AND '2005-04-02 18:00:00'
    merci a tous pour votre aide

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

Discussions similaires

  1. Clause Where sur une Date
    Par Zebulonn dans le forum Installation
    Réponses: 31
    Dernier message: 20/10/2005, 11h56
  2. Problème de select sur une date (DATETIME....)
    Par zeldoi5 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 16/05/2005, 11h19
  3. Travailler sur une date
    Par HqX dans le forum Langage SQL
    Réponses: 11
    Dernier message: 05/10/2004, 15h54
  4. Problème lors d'un Update sur une date
    Par Nany dans le forum ASP
    Réponses: 3
    Dernier message: 19/05/2004, 22h37
  5. [SQL] Conditions sur une date dans une requete
    Par poufouille dans le forum Bases de données
    Réponses: 4
    Dernier message: 17/03/2004, 14h25

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