IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Voir le flux RSS

Programmation

  1. [Actualité] [SQL] Obtenir les dernières lignes -- 5 méthodes

    par , 30/09/2023 à 15h30
    Un problème récurrent quand on requête une base de données :

    Comment obtenir la ligne la plus récente de chaque groupe ?
    Le problème n'est pas seulement d'obtenir la date en question, mais l'ensemble des données relatives à la ligne la plus récente.

    Pour répondre à ce problème il faut :

    1. Identifier la colonne déterminant la notion temporelle
    Pour cela on aura généralement affaire à une colonne DATETIME.
    Attention, se référer ...

    Mis à jour 15/03/2024 à 09h08 par Malick (Ajout balises code)

    Tags: mysql, sql
    Catégories
    Programmation
  2. [MySQL] Compter le nombre de lignes d'une table le plus vite possible

    par , 28/04/2023 à 08h43
    Une question du forum MySQL, « Comment obtenir le nombre de lignes d'une table le plus rapidement possible ? »

    Il est vrai que InnoDB n'est pas performant pour cet exercice, bien moins que MyISAM qui stockait le nombre de lignes en dur.

    Entre des tables à balayer ou des choix d'index hasardeux (faîtes un EXPLAIN pour voir ça), sur des tables volumineuses le résultat peut arriver en une fraction de secondes, ou plus d'une minute !

    J'ai retenu 3 requêtes ...
    Tags: mysql, sql
    Catégories
    Programmation
  3. PHP CLI et gestion du signal d'interruption

    par , 22/04/2023 à 10h18
    J'intègre et traite de la data toute la journée. Pour cela un script PHP CLI tourne en permanence, et dès que du nouveau arrive, c'est inséré en base de données, transmis par e-mail, déposé sur un WebDAV ou un SFTP, historisé, archivé, etc.

    Une belle mécanique, mais soudainement bien fragile dès qu'une maintenance est nécessaire. Que se passe-t-il si le script est interrompu en pleine écriture d'un fichier ? Les fichiers risquent d'être corrompus, des transactions SQL sont à annuler, ...

    Mis à jour 22/04/2023 à 13h30 par Séb.

    Tags: cli, php, signal
    Catégories
    Programmation
  4. [SQL] Groupement par tranches horaires

    par , 04/03/2023 à 08h42
    Nous sommes souvent amenés à grouper des lignes selon des métriques temporelles quotidiennes, hebdomadaires, mensuelles, etc. Moins souvent à l'heure, au quart d'heure, à la minute. Voici un moyen simple de procéder.

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SET @slice = 60 * 60 * 2; -- Groupement sur combien de secondes ? Ici sur 2 heures
     
    SELECT ALL
        DATE(created_at) + INTERVAL TIME_TO_SEC(created_at) DIV @slice * @slice SECOND AS slice,
        COUNT(*) AS n
    FROM dataset
    GROUP BY
    ...
    Tags: mysql, sql
    Catégories
    Programmation
  5. Exercice SQL -- P01E08 -- Linéarisation, sous-requêtes

    par , 02/12/2022 à 21h44
    Exercice 8, linéarisation, sous-requêtes

    Des résultats d'agrégats à présenter en colonne plutôt qu'en ligne. Merci au SQL et sa grande perpendicularité.

    Ma solution :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT ALL
        (SELECT ALL COUNT(*) FROM TBL1) AS TBL1,
        (SELECT ALL COUNT(*) FROM TBL2) AS TBL2,
        (SELECT ALL COUNT(*) FROM TBL3) AS TBL3
    ;
    Tags: exercice, sql
    Catégories
    Programmation
Page 1 sur 3 123 DernièreDernière