Bonjour à tous,

j'ai un problème avec ROWNUM que je ne saisi pas du tout. Quelqu'un peut m'expliquer pour cette requête fonctionne :
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
SELECT 
	   ROWNUM, 
	   a.* 
FROM 
	 (SELECT 
	 		 CONT_ID, 
			 CONT_MUNA, 
			 GEST_ID, 
			 PER_ID, 
			 CONT_CREATEUR, 
			 CONT_DATE, 
			 TYPEC_ID, 
			 TYPED_ID, 
			 REG_ID, 
			 CONT_FLAG_ERR, 
			 CONT_FLAG_SC 
		FROM CONTROLE
                ORDER BY 
	                 CONT_DATE DESC) a 
WHERE 
	  CONT_CREATEUR = 92 AND 
	  ROWNUM >= 1 AND 
	  ROWNUM <= 2
.... et celle-ci pas du tout :
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
SELECT 
	   ROWNUM, 
	   a.* 
FROM 
	 (SELECT 
	 		 CONT_ID, 
			 CONT_MUNA, 
			 GEST_ID, 
			 PER_ID, 
			 CONT_CREATEUR, 
			 CONT_DATE, 
			 TYPEC_ID, 
			 TYPED_ID, 
			 REG_ID, 
			 CONT_FLAG_ERR, 
			 CONT_FLAG_SC 
		FROM CONTROLE
                ORDER BY 
	                 CONT_DATE DESC) a 
WHERE 
	  CONT_CREATEUR = 92 AND 
	  ROWNUM >= 2 AND 
	  ROWNUM <= 3
Pourtant, lorque j'enlève la clause
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
AND 
	  ROWNUM >= 2 AND 
	  ROWNUM <= 3
j'ai 4 résultats avec comme rownum 1, 2, 3, 4 ..

Merci pour votre aide
PS : j'ai suivi cet exemple pour tenter cette requête : http://oracle.developpez.com/faq/?page=3-1#rownum