Blog de Portekoi : Programmation et Astuces

Programmation Cobol, Php, Asp, Java et DotNet…

Résultat d’une requête groupée par quinzaine…

Voici comment afficher un résultat de requête sous la forme suivante :

Jan 2013 Day 16-31 Donnée_1 Donnée_2
Jan 2013 Day 01-15 Donnée_1 Donnée_2
Dec 2012 Day 16-31 Donnée_1 Donnée_2
Dec 2012 Day 01-15 Donnée_1 Donnée_2

Ici, les données sont regroupées par quinze jours.

Voici la requêtes :

select
        CONCAT( DATE_FORMAT(`date_add`, '%b %Y Day ' ),
            case when dayofmonth( `date_add` ) < 16
                then '01-15'
                else CONCAT( '16-', right( last_day( `date_add` ), 2)  )
                end ) as Quinzaine,
        donnée_1,
		sum(donnée_2) as donnée_2
    from 
        Ma_Table
    group by
        donnée_1, Quinzaine
    order by
    	donnée_1, 
        year( `date_add` ),
        month( `date_add` ),
        min( dayofmonth( `date_add` ))

Simple mais utile 🙂

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *