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
   | 10g SOC5> CREATE TABLE DVP (
  2    ID_USER         VARCHAR2(3),
  3    NOM_USER        VARCHAR2(50),
  4    NB_CONNEXIONS   NUMBER(12) );
 
Table créée.
 
10g SOC5> 
10g SOC5> INSERT INTO DVP VALUES ('01D', 'TOTO',    174);
 
1 ligne créée.
 
10g SOC5> INSERT INTO DVP VALUES ('02D', 'TITI',    122);
 
1 ligne créée.
 
10g SOC5> INSERT INTO DVP VALUES ('03D', 'PAUL',    52);
 
1 ligne créée.
 
10g SOC5> INSERT INTO DVP VALUES ('04D', 'MAC',     110);
 
1 ligne créée.
 
10g SOC5> INSERT INTO DVP VALUES ('05D', 'NOEL',    66);
 
1 ligne créée.
 
10g SOC5> INSERT INTO DVP VALUES ('06D', 'CHARLES', 64);
 
1 ligne créée.
 
10g SOC5> INSERT INTO DVP VALUES ('07D', 'LEO',     16);
 
1 ligne créée.
 
10g SOC5> INSERT INTO DVP VALUES ('07D', 'SIMON',   14);
 
1 ligne créée.
 
10g SOC5> INSERT INTO DVP VALUES ('08D', 'PIERRE',  165);
 
1 ligne créée.
 
10g SOC5> 
10g SOC5> SELECT D.ID_USER, NOM_USER, NB_CONNEXIONS
  2  FROM ( SELECT   ID_USER
  3         FROM     DVP
  4         GROUP BY ID_USER
  5         HAVING   COUNT(*) > 1 ) T,
  6        DVP D
  7  WHERE T.ID_USER = D.ID_USER
  8  AND   D.NB_CONNEXIONS = ( SELECT MAX(NB_CONNEXIONS)
  9                            FROM   DVP D2
 10                            WHERE  D.ID_USER = D2.ID_USER );
 
ID_ NOM_USER                                           NB_CONNEXIONS
--- -------------------------------------------------- -------------
07D LEO                                                           16
 
1 ligne sélectionnée. | 
Partager