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

Séb.

  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. [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
  4. 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
  5. Exercice SQL -- P01E07 -- Le comptage, fonction d'analyse fenêtrée

    par , 02/12/2022 à 21h37
    L'exercice No 7 intitulé "le comptage", consiste à numéroter les lignes d'un résultat.

    Rien de difficile, les fonctions d'analyse fenêtrées réalisent cela en 1 tour de main.

    Ma solution :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT ALL PSP_NOM, ROW_NUMBER() OVER (ORDER BY PSP_NOM ASC) AS N
    FROM T_PROSPECT_PSP
    ORDER BY 2 ASC;

    Avec MySQL le ORDER BY de ROW_NUMBER() trie le résultat final. Je ne sais pas s'il s'agit d'un comportement standard (le savez-vous ...
    Tags: exercice, sql
    Catégories
    Programmation
Page 1 sur 3 123 DernièreDernière