Limiter le nombre d'enregistrement par ligne mais par mois

Fermé
Magrov Messages postés 1 Date d'inscription jeudi 15 juin 2017 Statut Membre Dernière intervention 15 juin 2017 - 15 juin 2017 à 06:17
 Magrov - 16 juin 2017 à 10:29
Bonjour,
Je souhaite créer une requete pour afficher seulement des enregistrements / mois, j'ai reussi a filtrer les 3 enregistrements mais je souhaite aussi qu'il affiche par mois par exemple

ANNEE MOIS NOMBRE DATE
2015 01 10000 01/01/2015
2015 01 900 02/01/2015
2015 01 500 03/01/2015

2015 02 3000 01/02/2015
2015 02 500 02/02/2015
2015 02 200 03/02/2015

Jusqu'à Décembre

SELECT * FROM (
requete
order by...
)
where rownum between 0 and 3;

2 réponses

yg_be Messages postés 22733 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 29 avril 2024 1 477
15 juin 2017 à 21:52
bonsoir, tu voudrais obtenir trois enregistrements pas mois?
peux-tu partager le code complet de la requête que tu utilises pour le moment?
0
Bonjour,

Voici le code et la requete, le résultat ne donne que les 3 premiers jour de mois de janvier, et je veux qu'il affiche, les 3 premiers jours de chaque mois, en utilisant UNION ALL, j'ai pu obtentir les resultats mais les requêtes sont trop long

SELECT *
FROM ( SELECT DISTINCT APAYER.APAY_EXERCICE AS EXERCICE,
SUBSTR (APAYER.APAY_TITRE, 11, 2) AS MOIS,
COUNT (TRUNC (APAYER.APAY_DATE)) AS nombre,
TRUNC (APAYER.APAY_DATE) AS DATE_PAIE
FROM APAYER
WHERE TRUNC (APAYER.APAY_DATE) BETWEEN :p_date_debut
AND :p_date_fin
AND APAYER.APAY_TITRE LIKE '%PENS-%'
AND APAYER.APAY_RESTE = 0
GROUP BY APAYER.APAY_EXERCICE,
SUBSTR (APAYER.APAY_TITRE, 11, 2),
APAYER.APAY_RESTE,
TRUNC (APAYER.APAY_DATE)
HAVING COUNT (TRUNC (APAYER.APAY_DATE)) > 100
ORDER BY MOIS, DATE_PAIE)
WHERE ROWNUM BETWEEN 0 AND 3
0