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 :

Requête jour par jour


Sujet :

Requêtes MySQL

  1. #1
    Membre régulier
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mai 2017
    Messages
    437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mai 2017
    Messages : 437
    Points : 109
    Points
    109
    Par défaut Requête jour par jour
    Bonjour,

    Je souhaiterai faire une requête qui me sortent les valeurs jours par jours de 05:00 à 05:00.

    J'ai cette requête mais je voudrais intégrer les heures...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT CAST(Processdate AS DATE),  Count(*) FROM nccdetails WHERE Line='ABS9Mls-1' GROUP BY CAST(Processdate AS DATE);
    Merci par avance.

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    En supposant que la colonne Processdate est de type DATETIME, essayez ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT
    	CASE 
    		WHEN TIME(Processdate) < '05:00' THEN CAST(Processdate - INTERVAL 1 DAY AS DATE)
    		ELSE CAST(Processdate AS DATE)
    	END AS jour,
    	COUNT(*) AS nombre
    FROM  nccdetails 
    WHERE Line='ABS9Mls-1' 
    GROUP BY jour
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre régulier
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mai 2017
    Messages
    437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mai 2017
    Messages : 437
    Points : 109
    Points
    109
    Par défaut
    Yes, c'est bon, mais je viens de voir que je dois convertir la date en timestamp pour ma courbe...

  4. #4
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 380
    Points : 19 062
    Points
    19 062
    Par défaut
    Salut Supernatural.

    Citation Envoyé par Supernatural
    Je souhaiterai faire une requête qui me sortent les valeurs jours par jours de 05:00 à 05:00.
    A bien vous comprendre, votre fuseau horaire est celui de Paris.
    Pour résoudre votre problème, il suffit de changer de fuseau horaire comme dans l'exemple suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    --------------
    SET AUTOCOMMIT = 0
    --------------
     
    --------------
    START TRANSACTION
    --------------
     
    --------------
    SET session time_zone = '+00:00'
    --------------
     
    --------------
    commit
    --------------
     
    --------------
    SELECT @@time_zone
    --------------
     
    +-------------+
    | @@time_zone |
    +-------------+
    | +00:00      |
    +-------------+
    --------------
    DROP DATABASE IF EXISTS `base`
    --------------
     
    --------------
    CREATE DATABASE `base`
        DEFAULT CHARACTER SET `latin1`
        DEFAULT COLLATE       `latin1_general_ci`
    --------------
     
    --------------
    DROP TABLE IF EXISTS `test`
    --------------
     
    --------------
    CREATE TABLE `test`
    ( `id`        integer unsigned  not null auto_increment primary key,
      `nom`       varchar(255)      not null,
      `periode`   timestamp         not null
     ) ENGINE=InnoDB
      DEFAULT CHARSET=`latin1` COLLATE=`latin1_general_ci`
      ROW_FORMAT=COMPRESSED
    --------------
     
    --------------
    insert into `test` (`nom`,`periode`) values
      ('un',       '2017-10-18 02:00:00'),
      ('deux',     '2017-10-18 04:59:59'),
      ('trois',    '2017-10-18 05:00:00'),
      ('quatre',   '2017-10-18 12:00:00')
    --------------
     
    --------------
    select * from `test`
    --------------
     
    +----+--------+---------------------+
    | id | nom    | periode             |
    +----+--------+---------------------+
    |  1 | un     | 2017-10-18 02:00:00 |
    |  2 | deux   | 2017-10-18 04:59:59 |
    |  3 | trois  | 2017-10-18 05:00:00 |
    |  4 | quatre | 2017-10-18 12:00:00 |
    +----+--------+---------------------+
    --------------
    SET session time_zone = '-05:00'
    --------------
     
    --------------
    commit
    --------------
     
    --------------
    SELECT @@time_zone
    --------------
     
    +-------------+
    | @@time_zone |
    +-------------+
    | -05:00      |
    +-------------+
    --------------
    select * from `test`
    --------------
     
    +----+--------+---------------------+
    | id | nom    | periode             |
    +----+--------+---------------------+
    |  1 | un     | 2017-10-17 21:00:00 |
    |  2 | deux   | 2017-10-17 23:59:59 |
    |  3 | trois  | 2017-10-18 00:00:00 |
    |  4 | quatre | 2017-10-18 07:00:00 |
    +----+--------+---------------------+
    --------------
    COMMIT
    --------------
     
    --------------
    SET AUTOCOMMIT = 1
    --------------
     
    Appuyez sur une touche pour continuer...
    Cela ne fonctionne qu'avec le type "timestamp" ou bien vous devez faire la conversion en timestamp et revenir au type "date" ou "time".

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

Discussions similaires

  1. Requête répartition par jour calendaire entre deux dates
    Par Dr_No dans le forum MS SQL Server
    Réponses: 22
    Dernier message: 22/11/2011, 14h35
  2. requête avec contrainte de date gerée jour par jour
    Par zemzoum89 dans le forum Requêtes
    Réponses: 1
    Dernier message: 31/05/2010, 16h29
  3. Requête filtrée par jour
    Par Pwouaro dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 10/04/2008, 10h52
  4. [MySQL] N'afficher la page que une seul fois par jour par ip
    Par Nutaak dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 03/12/2007, 17h38
  5. VBA regroupement date selon choix option (par jour, par mois)
    Par IndyJones dans le forum VBA Access
    Réponses: 2
    Dernier message: 04/12/2006, 20h06

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