Bonjour à tous,

Je suis en train de mettre au point une interface Graphique pour présenter les résultats des compétitions fédérales de Parachutisme.

J'ai quelques soucis de mise au point dans la présentation des résultats et j'espère que vous pourrez m'aider. Voici mon Pb, je vais essayer de l'expliquer du mieux possible.

En fait je n'arive pas à trouver la requête qui me permette ensuite de lancer la routine php de création du tableau.

1- Pour pouvoir enregistrer et présenter les performances des équipes ainsi que les résultats de chaque équipier, j'inscrit dans la table PAE les résultats pour chaque coéquipier. L'ID de chaque équipier étant la clef unique.

2- Pour trier et présenter le résultat par équipe en fonction du CLT j'utilise la requête SQL suivante (que j'ai simplifié pour la compréhension)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT `equipe`,SUM(`total`) AS `total_equipe`, SUM(`s11`) AS`departage` 
 
FROM `PAE_NANCY_2006` 
 
WHERE 1 
 
AND `s10` IS NOT NULL 
 
AND `equipe` NOT LIKE 'INDIVIDUEL%' 
 
GROUP BY `equipe`
 
ORDER BY `total_equipe`,`departage`
Je fais donc une sélection des équipes finalistes ( dont le saut 10 est non NULL) et qui ont un nom ne commençant pas par INDIVIDUEL.

Je veux présenter le tableau GROUPER par équipe et TRIER en fonction du total_equipe (calculé avec SUM()), puis en cas d'égalité par le saut de DEPARTAGE (calculé avec SUM() , si celui ci a été rempli).


3- Le problème viens que à priori la condition GROUP BY ne supporte pas plusieurs tri succecifs (je l'ai lu sur dans les pages du site) dans la condition ORDER BY. Le résultat est, que dans le cas précis de NANCY c'est ARMEE de L'AIR qui se voit placé devant ETAP, alors que ce devrait être le contraire.

Le résultat devrait être:

Clt - Equipe - Total - Départage

- PC VANNES 0.58 NULL
- TARBES BIGORRE 2 0.65 NULL
- STRASBOURG 0.86 NULL
- ETAP 0.88 0.02
- ARMEE AIR 0.88 0.03
- CP NICE 0.98 NULL


Le résultat est en réalité:
Clt - Equipe - Total - Départage

- PC VANNES 0.58 NULL
- TARBES BIGORRE 2 0.65 NULL
- STRASBOURG 0.86 NULL
- ARMEE AIR 0.88 0.03
- ETAP 0.88 0.02

- CP NICE 0.98 NULL


et si je classe uniquement avec le départage

Le résultat présenté devient:

Clt - Equipe - Total - Départage

- PC VANNES 0.58 NULL
- TARBES BIGORRE 2 0.65 NULL
- STRASBOURG 0.86 NULL
- CP NICE 0.98 NULL
- ETAP 0.88 0.02
- ARMEE AIR 0.88 0.03


4- En trichant, et en rajoutant 1cm au total de BLOUVAC (0.30 au lieu de 0.29), la présentantion est correct, mais ce n'est pas la solution, le résultat est faussé, l'armée de l'air a un total de 0.89.

5- Ma demande est donc, par quel moyen puis faire en sorte de présenter le bon classement a l'écran. Je n'arrive pas a trouvé une solution a mon problème. Une telle requête est-elle possible?

Merci d'avance pour votre aide

PS: ci dessous la structure et les données de la TABLE PAE NANCY 2006, uniquement pour les 6 premières équipes



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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
-- phpMyAdmin SQL Dump
 
-- version 2.6.3-pl1
 
-- <a href="http://www.phpmyadmin.net" target="_blank">http://www.phpmyadmin.net</a>
 
-- Généré le : Dimanche 13 Août 2006 à 11:21
 
-- Version du serveur: 5.0.23
 
-- Version de PHP: 4.4.2
 
-- 
 
-- 
 
-- --------------------------------------------------------
-- 
-- Structure de la table `PAE_NANCY_2006`
-- 
 
DROP TABLE IF EXISTS `PAE_NANCY_2006`;
 
CREATE TABLE IF NOT EXISTS `PAE_NANCY_2006` (
 
  `id_epreuve` int(3) NOT NULL auto_increment,
 
  `equipe` varchar(40) collate latin1_general_ci default NULL,
 
  `num_licence` varchar(10) collate latin1_general_ci NOT NULL default '0',
 
  `nom` varchar(30) collate latin1_general_ci NOT NULL default '',
 
  `sexe` varchar(1) collate latin1_general_ci NOT NULL default 'H',
 
  `categorie` varchar(10) collate latin1_general_ci NOT NULL default 'Senior',
 
  `s1` varchar(5) collate latin1_general_ci default NULL,
 
  `s2` varchar(5) collate latin1_general_ci default NULL,
 
  `s3` varchar(5) collate latin1_general_ci default NULL,
 
  `s4` varchar(5) collate latin1_general_ci default NULL,
 
  `s5` varchar(5) collate latin1_general_ci default NULL,
 
  `s6` varchar(5) collate latin1_general_ci default NULL,
 
  `s7` varchar(5) collate latin1_general_ci default NULL,
 
  `s8` varchar(5) collate latin1_general_ci default NULL,
 
  `s9` varchar(5) collate latin1_general_ci default NULL,
 
  `s10` varchar(5) collate latin1_general_ci default NULL,
 
  `s11` varchar(5) collate latin1_general_ci default NULL,
 
  `total` float(3,2) default NULL,
 
  `nb0` int(1) default NULL,
 
  `nb1` int(1) default NULL,
 
  `nb2` int(1) default NULL,
 
  `clt` int(2) default NULL,
 
  `clt_jeune` int(2) default NULL,
 
  `clt_dame` int(2) default NULL,
 
  PRIMARY KEY  (`nom`),
 
  KEY `id_epreuve` (`id_epreuve`)
 
) ENGINE=MyISAM AUTO_INCREMENT=101 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci COMMENT='table servant au skokage des resultats' AUTO_INCREMENT=101 ;
 
 
 
-- 
 
-- Contenu de la table `PAE_NANCY_2006` uniquement les 6 équipes finalistes
 
-- 
 
 
 
INSERT INTO `PAE_NANCY_2006` (`id_epreuve`, `equipe`, `num_licence`, `nom`, `sexe`, `categorie`, `s1`, `s2`, `s3`, `s4`, `s5`, `s6`, `s7`, `s8`, `s9`, `s10`, `s11`, `total`, `nb0`, `nb1`, `nb2`, `clt`, `clt_jeune`, `clt_dame`) VALUES (17, 'STRASBOURG', '00000042', 'BAAL Jacques', 'H', 'Senior', '0.00', '0.01', '0.01', '0.02', '0.03', '0.01', '0.02', '0.00', '0.04', '0.02', NULL, 0.16, 2, NULL, NULL, NULL, NULL, NULL);
 
INSERT INTO `PAE_NANCY_2006` (`id_epreuve`, `equipe`, `num_licence`, `nom`, `sexe`, `categorie`, `s1`, `s2`, `s3`, `s4`, `s5`, `s6`, `s7`, `s8`, `s9`, `s10`, `s11`, `total`, `nb0`, `nb1`, `nb2`, `clt`, `clt_jeune`, `clt_dame`) VALUES (19, 'STRASBOURG', '00000043', 'KILFIGER Marc', 'H', 'Vétéran', '0.01', '0.04', '0.03', '0.02', '0.01', '0.03', '0.01', '0.02', '0.06', '0.02', NULL, 0.25, 0, NULL, NULL, NULL, NULL, NULL);
 
INSERT INTO `PAE_NANCY_2006` (`id_epreuve`, `equipe`, `num_licence`, `nom`, `sexe`, `categorie`, `s1`, `s2`, `s3`, `s4`, `s5`, `s6`, `s7`, `s8`, `s9`, `s10`, `s11`, `total`, `nb0`, `nb1`, `nb2`, `clt`, `clt_jeune`, `clt_dame`) VALUES (20, 'STRASBOURG', '00000014', 'CHAMBON Lionel', 'H', 'Vétéran', '0.02', '0.01', '0.00', '0.02', '0.06', '0.00', '0.01', '0.03', '0.01', '0.02', NULL, 0.18, 2, NULL, NULL, NULL, NULL, NULL);
 
INSERT INTO `PAE_NANCY_2006` (`id_epreuve`, `equipe`, `num_licence`, `nom`, `sexe`, `categorie`, `s1`, `s2`, `s3`, `s4`, `s5`, `s6`, `s7`, `s8`, `s9`, `s10`, `s11`, `total`, `nb0`, `nb1`, `nb2`, `clt`, `clt_jeune`, `clt_dame`) VALUES (45, 'PC VANNES', '00000032', 'HARDOUIN Olivier', 'H', 'Senior', '0.01', '0.02', '0.00', '0.03', '0.00', '0.00', '0.03', '0.00', '0.00', '0.01', NULL, 0.10, 5, NULL, NULL, NULL, NULL, NULL);
 
INSERT INTO `PAE_NANCY_2006` (`id_epreuve`, `equipe`, `num_licence`, `nom`, `sexe`, `categorie`, `s1`, `s2`, `s3`, `s4`, `s5`, `s6`, `s7`, `s8`, `s9`, `s10`, `s11`, `total`, `nb0`, `nb1`, `nb2`, `clt`, `clt_jeune`, `clt_dame`) VALUES (46, 'PC VANNES', '00000034', 'HARDOUIN Jean-Noël', 'H', 'Senior', '0.01', '0.02', '0.02', '0.00', '0.00', '0.01', '0.00', '0.03', '0.00', '0.01', NULL, 0.10, 4, NULL, NULL, NULL, NULL, NULL);
 
INSERT INTO `PAE_NANCY_2006` (`id_epreuve`, `equipe`, `num_licence`, `nom`, `sexe`, `categorie`, `s1`, `s2`, `s3`, `s4`, `s5`, `s6`, `s7`, `s8`, `s9`, `s10`, `s11`, `total`, `nb0`, `nb1`, `nb2`, `clt`, `clt_jeune`, `clt_dame`) VALUES (47, 'PC VANNES', '00000015', 'VANHOVE Valérie', 'F', 'Vétéran', '0.00', '0.03', '0.01', '0.01', '0.03', '0.01', '0.00', '0.03', '0.01', '0.00', NULL, 0.13, 3, NULL, NULL, NULL, NULL, NULL);
 
INSERT INTO `PAE_NANCY_2006` (`id_epreuve`, `equipe`, `num_licence`, `nom`, `sexe`, `categorie`, `s1`, `s2`, `s3`, `s4`, `s5`, `s6`, `s7`, `s8`, `s9`, `s10`, `s11`, `total`, `nb0`, `nb1`, `nb2`, `clt`, `clt_jeune`, `clt_dame`) VALUES (48, 'PC VANNES', '00000033', 'LAUTARD Bruno', 'H', 'Vétéran', '0.00', '0.16', '0.01', '0.00', '0.05', '0.00', '0.01', '0.02', '0.00', '0.00', NULL, 0.25, 5, NULL, NULL, NULL, NULL, NULL);
 
INSERT INTO `PAE_NANCY_2006` (`id_epreuve`, `equipe`, `num_licence`, `nom`, `sexe`, `categorie`, `s1`, `s2`, `s3`, `s4`, `s5`, `s6`, `s7`, `s8`, `s9`, `s10`, `s11`, `total`, `nb0`, `nb1`, `nb2`, `clt`, `clt_jeune`, `clt_dame`) VALUES (49, 'C.P.NICE', '00000049', 'COLTAT Eric', 'H', 'Vétéran', '0.00', '0.16', '0.00', '0.02', '0.03', '0.02', '0.02', '0.07', '0.02', '0.01', NULL, 0.35, 2, NULL, NULL, NULL, NULL, NULL);
 
INSERT INTO `PAE_NANCY_2006` (`id_epreuve`, `equipe`, `num_licence`, `nom`, `sexe`, `categorie`, `s1`, `s2`, `s3`, `s4`, `s5`, `s6`, `s7`, `s8`, `s9`, `s10`, `s11`, `total`, `nb0`, `nb1`, `nb2`, `clt`, `clt_jeune`, `clt_dame`) VALUES (50, 'C.P.NICE', '00000028', 'LAFFAILLE Raymond', 'H', 'Vétéran', '0.02', '0.02', '0.01', '0.00', '0.03', '0.00', '0.02', '0.02', '0.02', '0.02', NULL, 0.16, 2, NULL, NULL, NULL, NULL, NULL);
 
INSERT INTO `PAE_NANCY_2006` (`id_epreuve`, `equipe`, `num_licence`, `nom`, `sexe`, `categorie`, `s1`, `s2`, `s3`, `s4`, `s5`, `s6`, `s7`, `s8`, `s9`, `s10`, `s11`, `total`, `nb0`, `nb1`, `nb2`, `clt`, `clt_jeune`, `clt_dame`) VALUES (51, 'C.P.NICE', '00000030', 'BUENO Ange', 'H', 'Senior', '0.01', '0.04', '0.16', '0.01', '0.00', '0.02', '0.02', '0.02', '0.01', '0.03', NULL, 0.32, 1, NULL, NULL, NULL, NULL, NULL);
 
INSERT INTO `PAE_NANCY_2006` (`id_epreuve`, `equipe`, `num_licence`, `nom`, `sexe`, `categorie`, `s1`, `s2`, `s3`, `s4`, `s5`, `s6`, `s7`, `s8`, `s9`, `s10`, `s11`, `total`, `nb0`, `nb1`, `nb2`, `clt`, `clt_jeune`, `clt_dame`) VALUES (52, 'C.P.NICE', '00000052', 'BRUNEAU Albert', 'H', 'Vétéran', '0.00', '0.00', '0.01', '0.04', '0.01', '0.02', '0.03', '0.01', '0.01', '0.02', NULL, 0.15, 2, NULL, NULL, NULL, NULL, NULL);
 
INSERT INTO `PAE_NANCY_2006` (`id_epreuve`, `equipe`, `num_licence`, `nom`, `sexe`, `categorie`, `s1`, `s2`, `s3`, `s4`, `s5`, `s6`, `s7`, `s8`, `s9`, `s10`, `s11`, `total`, `nb0`, `nb1`, `nb2`, `clt`, `clt_jeune`, `clt_dame`) VALUES (58, 'TARBES BIGORRE 2', '0000006', 'GHRISS Pascal', 'H', 'Vétéran', '0.02', '0.01', '0.00', '0.01', '0.00', '0.01', '0.01', '0.03', '0.01', '0.00', NULL, 0.10, 3, NULL, NULL, NULL, NULL, NULL);
 
INSERT INTO `PAE_NANCY_2006` (`id_epreuve`, `equipe`, `num_licence`, `nom`, `sexe`, `categorie`, `s1`, `s2`, `s3`, `s4`, `s5`, `s6`, `s7`, `s8`, `s9`, `s10`, `s11`, `total`, `nb0`, `nb1`, `nb2`, `clt`, `clt_jeune`, `clt_dame`) VALUES (59, 'TARBES BIGORRE 2', '000000120', 'JOLIVET Yannick', 'H', 'Senior', '0.01', '0.02', '0.04', '0.01', '0.00', '0.07', '0.01', '0.01', '0.00', '0.01', NULL, 0.18, 2, NULL, NULL, NULL, NULL, NULL);
 
INSERT INTO `PAE_NANCY_2006` (`id_epreuve`, `equipe`, `num_licence`, `nom`, `sexe`, `categorie`, `s1`, `s2`, `s3`, `s4`, `s5`, `s6`, `s7`, `s8`, `s9`, `s10`, `s11`, `total`, `nb0`, `nb1`, `nb2`, `clt`, `clt_jeune`, `clt_dame`) VALUES (60, 'TARBES BIGORRE 2', '00000036', 'BARRIOT François', 'H', 'Senior', '0.03', '0.01', '0.01', '0.03', '0.05', '0.02', '0.01', '0.03', '0.03', '0.02', NULL, 0.24, 0, NULL, NULL, NULL, NULL, NULL);
 
INSERT INTO `PAE_NANCY_2006` (`id_epreuve`, `equipe`, `num_licence`, `nom`, `sexe`, `categorie`, `s1`, `s2`, `s3`, `s4`, `s5`, `s6`, `s7`, `s8`, `s9`, `s10`, `s11`, `total`, `nb0`, `nb1`, `nb2`, `clt`, `clt_jeune`, `clt_dame`) VALUES (61, 'TARBES BIGORRE 2', '00000022', 'ROTH David', 'H', 'Senior', '0.01', '0.01', '0.01', '0.01', '0.00', '0.00', '0.02', '0.02', '0.03', '0.02', NULL, 0.13, 2, NULL, NULL, NULL, NULL, NULL);
 
INSERT INTO `PAE_NANCY_2006` (`id_epreuve`, `equipe`, `num_licence`, `nom`, `sexe`, `categorie`, `s1`, `s2`, `s3`, `s4`, `s5`, `s6`, `s7`, `s8`, `s9`, `s10`, `s11`, `total`, `nb0`, `nb1`, `nb2`, `clt`, `clt_jeune`, `clt_dame`) VALUES (63, 'ETAP', '00000019', 'GEHIN Stéphane', 'H', 'Senior', '0.00', '0.00', '0.00', '0.01', '0.01', '0.01', '0.00', '0.01', '0.06', '0.01', '0.01', 0.11, 4, NULL, NULL, NULL, NULL, NULL);
 
INSERT INTO `PAE_NANCY_2006` (`id_epreuve`, `equipe`, `num_licence`, `nom`, `sexe`, `categorie`, `s1`, `s2`, `s3`, `s4`, `s5`, `s6`, `s7`, `s8`, `s9`, `s10`, `s11`, `total`, `nb0`, `nb1`, `nb2`, `clt`, `clt_jeune`, `clt_dame`) VALUES (64, 'ETAP', '000000155', 'BILLON Johann', 'H', 'Senior', '0.01', '0.02', '0.16', '0.01', '0.06', '0.01', '0.00', '0.00', '0.03', '0.01', '0.01', 0.31, 2, NULL, NULL, NULL, NULL, NULL);
 
INSERT INTO `PAE_NANCY_2006` (`id_epreuve`, `equipe`, `num_licence`, `nom`, `sexe`, `categorie`, `s1`, `s2`, `s3`, `s4`, `s5`, `s6`, `s7`, `s8`, `s9`, `s10`, `s11`, `total`, `nb0`, `nb1`, `nb2`, `clt`, `clt_jeune`, `clt_dame`) VALUES (65, 'ETAP', '000000104', 'MARTINEZ David', 'H', 'Senior', '0.01', '0.01', '0.03', '0.00', '0.00', '0.01', '0.01', '0.02', '0.04', '0.02', '0.00', 0.15, 2, NULL, NULL, NULL, NULL, NULL);
 
INSERT INTO `PAE_NANCY_2006` (`id_epreuve`, `equipe`, `num_licence`, `nom`, `sexe`, `categorie`, `s1`, `s2`, `s3`, `s4`, `s5`, `s6`, `s7`, `s8`, `s9`, `s10`, `s11`, `total`, `nb0`, `nb1`, `nb2`, `clt`, `clt_jeune`, `clt_dame`) VALUES (85, 'STRASBOURG', '00000092', 'RAPP Cyrille', 'H', 'Senior', '0.01', '0.02', '0.03', '0.03', '0.07', '0.03', '0.02', '0.01', '0.04', '0.01', NULL, 0.27, 0, NULL, NULL, NULL, NULL, NULL);
 
INSERT INTO `PAE_NANCY_2006` (`id_epreuve`, `equipe`, `num_licence`, `nom`, `sexe`, `categorie`, `s1`, `s2`, `s3`, `s4`, `s5`, `s6`, `s7`, `s8`, `s9`, `s10`, `s11`, `total`, `nb0`, `nb1`, `nb2`, `clt`, `clt_jeune`, `clt_dame`) VALUES (86, 'ETAP', '000000229', 'DANJOU Christophe', 'H', 'Senior', '0.04', '0.08', '0.02', '0.00', '0.03', '0.04', '0.04', '0.02', '0.01', '0.03', '0.00', 0.31, 1, NULL, NULL, NULL, NULL, NULL);
 
INSERT INTO `PAE_NANCY_2006` (`id_epreuve`, `equipe`, `num_licence`, `nom`, `sexe`, `categorie`, `s1`, `s2`, `s3`, `s4`, `s5`, `s6`, `s7`, `s8`, `s9`, `s10`, `s11`, `total`, `nb0`, `nb1`, `nb2`, `clt`, `clt_jeune`, `clt_dame`) VALUES (97, 'ARMEE AIR', '0000002', 'LUBIN Loïc', 'H', 'Senior', '0.02', '0.02', '0.00', '0.02', '0.04', '0.01', '0.00', '0.01', '0.00', '0.03', '0.01', 0.15, 3, NULL, NULL, NULL, NULL, NULL);
 
INSERT INTO `PAE_NANCY_2006` (`id_epreuve`, `equipe`, `num_licence`, `nom`, `sexe`, `categorie`, `s1`, `s2`, `s3`, `s4`, `s5`, `s6`, `s7`, `s8`, `s9`, `s10`, `s11`, `total`, `nb0`, `nb1`, `nb2`, `clt`, `clt_jeune`, `clt_dame`) VALUES (98, 'ARMEE AIR', '00000091', 'BALAUD Rémy', 'H', 'Senior', '0.01', '0.04', '0.05', '0.10', '0.02', '0.00', '0.02', '0.01', '0.00', '0.03', '0.00', 0.28, 2, NULL, NULL, NULL, NULL, NULL);
 
INSERT INTO `PAE_NANCY_2006` (`id_epreuve`, `equipe`, `num_licence`, `nom`, `sexe`, `categorie`, `s1`, `s2`, `s3`, `s4`, `s5`, `s6`, `s7`, `s8`, `s9`, `s10`, `s11`, `total`, `nb0`, `nb1`, `nb2`, `clt`, `clt_jeune`, `clt_dame`) VALUES (99, 'ARMEE AIR', '0000004', 'CHERRIER Franck', 'H', 'Senior', '0.00', '0.01', '0.02', '0.06', '0.01', '0.02', '0.01', '0.01', '0.01', '0.01', '0.02', 0.16, 1, NULL, NULL, NULL, NULL, NULL);
 
INSERT INTO `PAE_NANCY_2006` (`id_epreuve`, `equipe`, `num_licence`, `nom`, `sexe`, `categorie`, `s1`, `s2`, `s3`, `s4`, `s5`, `s6`, `s7`, `s8`, `s9`, `s10`, `s11`, `total`, `nb0`, `nb1`, `nb2`, `clt`, `clt_jeune`, `clt_dame`) VALUES (100, 'ARMEE AIR', '00000045', 'BLOUVAC Jean-François', 'H', 'Senior', '0.01', '0.01', '0.03', '0.04', '0.13', '0.00', '0.03', '0.00', '0.02', '0.02', '0.00', 0.29, 2, NULL, NULL, NULL, NULL, NULL);