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
| DROP DATABASE;
CREATE DATABASE '..\Data\Base.fdb' page_size 4096 DEFAULT CHARACTER SET ISO8859_1;
create table test (
id_note int not null primary key,
num_etudiant smallint not null,
nom_matiere char(10) not null collate fr_fr,
an_sconote char(10) not null collate fr_fr,
note_1 decimal(5,3) not null,
note_2 decimal(5,3) not null,
noteexam decimal(5,3) not null,
moymat decimal(5,3) not null,
semestre char(10) not null collate fr_fr
);
insert into test (id_note,num_etudiant,nom_matiere,an_sconote,note_1,note_2,noteexam,moymat,semestre) values ( 1, 256, 'matière 01', '2008-2009', 13.00, 12.00, 12.00, 0.00, 'semestre 1');
insert into test (id_note,num_etudiant,nom_matiere,an_sconote,note_1,note_2,noteexam,moymat,semestre) values ( 2, 256, 'matière 02', '2008-2009', 9.00, 8.00, 8.00, 0.00, 'semestre 1');
insert into test (id_note,num_etudiant,nom_matiere,an_sconote,note_1,note_2,noteexam,moymat,semestre) values ( 3, 256, 'matière 03', '2008-2009', 10.00, 5.50, 5.50, 0.00, 'semestre 1');
insert into test (id_note,num_etudiant,nom_matiere,an_sconote,note_1,note_2,noteexam,moymat,semestre) values ( 4, 256, 'matière 04', '2008-2009', 12.00, 9.00, 9.00, 0.00, 'semestre 1');
insert into test (id_note,num_etudiant,nom_matiere,an_sconote,note_1,note_2,noteexam,moymat,semestre) values ( 5, 256, 'matière 05', '2008-2009', 6.25, 13.50, 13.50, 0.00, 'semestre 1');
insert into test (id_note,num_etudiant,nom_matiere,an_sconote,note_1,note_2,noteexam,moymat,semestre) values ( 6, 256, 'matière 06', '2008-2009', 5.25, 12.50, 12.50, 0.00, 'semestre 1');
insert into test (id_note,num_etudiant,nom_matiere,an_sconote,note_1,note_2,noteexam,moymat,semestre) values ( 7, 256, 'matière 07', '2008-2009', 4.00, 17.00, 17.00, 0.00, 'semestre 1');
insert into test (id_note,num_etudiant,nom_matiere,an_sconote,note_1,note_2,noteexam,moymat,semestre) values ( 8, 256, 'matière 08', '2008-2009', 13.00, 10.00, 10.00, 0.00, 'semestre 1');
insert into test (id_note,num_etudiant,nom_matiere,an_sconote,note_1,note_2,noteexam,moymat,semestre) values ( 9, 256, 'matière 09', '2008-2009', 16.50, 16.50, 16.50, 0.00, 'semestre 2');
insert into test (id_note,num_etudiant,nom_matiere,an_sconote,note_1,note_2,noteexam,moymat,semestre) values (10, 256, 'matière 10', '2008-2009', 13.00, 13.00, 13.00, 0.00, 'semestre 2');
insert into test (id_note,num_etudiant,nom_matiere,an_sconote,note_1,note_2,noteexam,moymat,semestre) values (11, 256, 'matière 11', '2008-2009', 9.00, 9.00, 9.00, 0.00, 'semestre 2');
insert into test (id_note,num_etudiant,nom_matiere,an_sconote,note_1,note_2,noteexam,moymat,semestre) values (12, 256, 'matière 12', '2008-2009', 10.00, 10.00, 10.00, 0.00, 'semestre 2');
insert into test (id_note,num_etudiant,nom_matiere,an_sconote,note_1,note_2,noteexam,moymat,semestre) values (13, 256, 'matière 13', '2008-2009', 12.00, 12.00, 12.00, 0.00, 'semestre 2');
insert into test (id_note,num_etudiant,nom_matiere,an_sconote,note_1,note_2,noteexam,moymat,semestre) values (14, 256, 'matière 14', '2008-2009', 6.25, 6.25, 6.25, 0.00, 'semestre 2');
insert into test (id_note,num_etudiant,nom_matiere,an_sconote,note_1,note_2,noteexam,moymat,semestre) values (15, 256, 'matière 15', '2008-2009', 5.25, 5.25, 5.25, 0.00, 'semestre 2');
update test set moymat = (note_1 + note_2) * 0.2 + noteexam * 0.6;
select * from test;
ID_NOTE NUM_ETUDIANT NOM_MATIERE AN_SCONOTE NOTE_1 NOTE_2 NOTEEXAM MOYMAT SEMESTRE
============ ============ =========== ========== ============ ============ ============ ============ ==========
1 256 matière 01 2008-2009 13.000 12.000 12.000 12.200 semestre 1
2 256 matière 02 2008-2009 9.000 8.000 8.000 8.200 semestre 1
3 256 matière 03 2008-2009 10.000 5.500 5.500 6.400 semestre 1
4 256 matière 04 2008-2009 12.000 9.000 9.000 9.600 semestre 1
5 256 matière 05 2008-2009 6.250 13.500 13.500 12.050 semestre 1
6 256 matière 06 2008-2009 5.250 12.500 12.500 11.050 semestre 1
7 256 matière 07 2008-2009 4.000 17.000 17.000 14.400 semestre 1
8 256 matière 08 2008-2009 13.000 10.000 10.000 10.600 semestre 1
9 256 matière 09 2008-2009 16.500 16.500 16.500 16.500 semestre 2
10 256 matière 10 2008-2009 13.000 13.000 13.000 13.000 semestre 2
11 256 matière 11 2008-2009 9.000 9.000 9.000 9.000 semestre 2
12 256 matière 12 2008-2009 10.000 10.000 10.000 10.000 semestre 2
13 256 matière 13 2008-2009 12.000 12.000 12.000 12.000 semestre 2
14 256 matière 14 2008-2009 6.250 6.250 6.250 6.250 semestre 2
15 256 matière 15 2008-2009 5.250 5.250 5.250 5.250 semestre 2
with temp as ( select an_sconote, num_etudiant, semestre as "classement", cast(round(avg(moymat),2) as decimal(4,2)) as "moyenne" from test group by an_sconote, num_etudiant, semestre
union select an_sconote, num_etudiant, 'annuel' as "classement", cast(round(avg(moymat),2) as decimal(4,2)) as "moyenne" from test group by an_sconote, num_etudiant
union select an_sconote, num_etudiant, nom_matiere as "classement", cast(round(avg(moymat),2) as decimal(4,2)) as "moyenne" from test group by an_sconote, num_etudiant, nom_matiere)
select * from temp;
AN_SCONOTE NUM_ETUDIANT classement moyenne
========== ============ ========== ============
2008-2009 256 annuel 10.43
2008-2009 256 matière 01 12.20
2008-2009 256 matière 02 8.20
2008-2009 256 matière 03 6.40
2008-2009 256 matière 04 9.60
2008-2009 256 matière 05 12.05
2008-2009 256 matière 06 11.05
2008-2009 256 matière 07 14.40
2008-2009 256 matière 08 10.60
2008-2009 256 matière 09 16.50
2008-2009 256 matière 10 13.00
2008-2009 256 matière 11 9.00
2008-2009 256 matière 12 10.00
2008-2009 256 matière 13 12.00
2008-2009 256 matière 14 6.25
2008-2009 256 matière 15 5.25
2008-2009 256 semestre 1 10.56
2008-2009 256 semestre 2 10.29
exit;
Appuyez sur une touche pour continuer... |
Partager