Bonjour,
j'ai une requête à effectuer pour ma formation, je la pensais juste mais visiblement elle ne l'est pas.
Tout d'abord, je vous donne texto la requête, en anglais :
Voilà comment je comprends la question :1. The bosses at Agent_Ville would like to know who in recent years has been most active in doing research into our Information database.
We’d like a list of the top 10 by volume. So that if two agents have accessed the same amount of data and they are in the top ten they should be displayed.
Please could you order them by volume accessed (Greatest First) and then by surname(Alphabetically).
Please name this table Research_topten.
The Columns used should be, full_name and Data_Volume_Accessed. And the starting year for this is 2004.
Nous devons réaliser une requête qui permettra de connaître les 10 agents qui ont accéder au plus d'informations dans notre base de donnée.
Nous devons comptabiliser uniquement les recherches effectués après 2003.
Nous devons prendre en compte les égalités, par exemple si un agent 8 agents ont accédé à 7 information et que ce total figure dans le top 10 ces 8 agents doivent être affiché.
Ensuite on nous demande simplement d'ordonné les résultats ...
Pour ce faire, j'ai 3 tables qui vont (ou pas) servir :
Une table information, qui répertorie les informations entré dans la base de donnée par les agents secret (glups)
Une table agent, qui identifie les agents
une table info_access qui montre les informations accédées, par quel agent et quand.
Voici ma requête :
Voila, visiblement la requête est fausse, on me demande de bien relire la question ...
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 drop view result_research_topten; create view result_research_topten as select "full name", data_volume_accessed from ( select ia.agent_id, a.last_name || ' ' || a.first_name "full name", count(*) data_volume_accessed From info_access ia inner join agents a on a.agent_id=ia.agent_id where to_char(logon_time,'yyyy')>2003 group by ia.agent_id, a.last_name || ' ' || a.first_name order by count(*) desc, a.last_name || ' ' || a.first_name ) where data_volume_accessed in ( select data_volume_accessed from ( select data_volume_accessed from ( select agent_id, count(agent_id) data_volume_accessed from info_access where to_char(logon_time,'yyyy')>2003 group by agent_id ) group by data_volume_accessed order by data_volume_accessed desc ) where rownum<11 ); drop table research_topten; create table research_topten as select * from result_research_topten order by data_volume_accessed desc, "full name" ; drop view result_research_topten ;
I need some help ...
Partager