Bonjour,
sur une base Mysql5
J'ai deux Tables : groupe et données :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 CREATE TABLE `groupes` ( `id` int(11) DEFAULT NULL, `GR` varchar(250) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 CREATE TABLE `donnees` ( `id` int(11) DEFAULT NULL, `Nom` varchar(250) DEFAULT NULL, `IdGr` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1
avec les données suivantes :
table groupes
table donnees
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 +------+--------+ | id | GR | +------+--------+ | 1 | un | | 2 | deux | | 3 | trois | | 4 | quatre | | 5 | cinq | +------+--------+
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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 +------+-------+------+ | id | Nom | IdGr | +------+-------+------+ | 1 | aaaaa | 1 | | 2 | bbb | 2 | | 3 | ccc | 3 | | 4 | ddd | 4 | | 5 | eee | 5 | | 6 | ff | 1 | | 7 | gg | 2 | | 8 | hh | 3 | | 9 | i | 4 | | 10 | jj | 5 | | 11 | kk | 1 | | 12 | ll | 2 | | 13 | m | 3 | | 14 | nn | 4 | | 15 | oo | 5 | | 16 | p | 1 | | 17 | q | 2 | | 18 | rr | 3 | | 19 | ss | 4 | | 20 | tt | 5 | | 21 | uu | 1 | | 22 | v | 2 | | 23 | w | 3 | | 24 | x | 4 | | 25 | y | 5 | | 26 | z | 1 | | 27 | A | 2 | | 28 | B | 3 | | 29 | C | 4 | | 30 | D | 5 | | 31 | z | 1 | | 32 | D | 2 | | 33 | E | 3 | | 34 | F | 4 | | 35 | G | 1 | | 36 | H | 2 | | 37 | I | 1 | +------+-------+------+
j'utilise la requête suivante :
la requête me retourne ce résultat
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 select g.GR,d.idGr, d.Nom from donnees d left join groupes g on d.IdGr=g.id order by GR,Nom ASC;
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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 +--------+------+-------+ | GR | idGr | Nom | +--------+------+-------+ | cinq | 5 | D | | cinq | 5 | eee | | cinq | 5 | jj | | cinq | 5 | oo | | cinq | 5 | tt | | cinq | 5 | y | | deux | 2 | A | | deux | 2 | bbb | | deux | 2 | D | | deux | 2 | gg | | deux | 2 | H | | deux | 2 | ll | | deux | 2 | q | | deux | 2 | v | | quatre | 4 | C | | quatre | 4 | ddd | | quatre | 4 | F | | quatre | 4 | i | | quatre | 4 | nn | | quatre | 4 | ss | | quatre | 4 | x | | trois | 3 | B | | trois | 3 | ccc | | trois | 3 | E | | trois | 3 | hh | | trois | 3 | m | | trois | 3 | rr | | trois | 3 | w | | un | 1 | aaaaa | | un | 1 | ff | | un | 1 | G | | un | 1 | I | | un | 1 | kk | | un | 1 | p | | un | 1 | uu | | un | 1 | z | | un | 1 | z | +--------+------+-------+
je voudrais lister la table donnees et ne lister que 2 lignes par groupe
faire une sorte de LIMIT 2 mais dans chaque Groupe (donnees.idGr)
et obtenir le résultat suivant
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 +--------+------+-------+ | GR | idGr | Nom | +--------+------+-------+ | cinq | 5 | D | | cinq | 5 | eee | | deux | 2 | A | | deux | 2 | bbb | | quatre | 4 | C | | quatre | 4 | ddd | | trois | 3 | B | | trois | 3 | ccc | | un | 1 | aaaaa | | un | 1 | ff | +--------+------+-------+
Partager