create table clients (nocli int as identity, nomcli char(50), depcli dec(2 , 0) , datcrt date , usrcrt varchar(128) generated always as (session_user) , |
create table clients (nocli int as identity, nomcli char(50), depcli dec(2 , 0) , datcrt date , usrcrt varchar(128) generated always as (session_user) , |
Create table clients_histo like clients |
--liaison des deux tables |
remarques
Sous Navigator for i
Définition de CLIENTS
Définition de CLIENTS_HISTO
La version Windows (System i navigator) ne montre pas cette nouveauté.
La génération d'instructions SQL retrouve bien le lien entre les deux tables
->
Pas la version Windows, du moins pas avant SI60523
Après avoir ajouté Quatre clients, puis modifié l'un d'entre eux
select nocli, action, debut, fin from clients |
NOCLI ACTION DEBUT FIN 1 U 2016-02-11-14.18.48.915480000244 9999-12-30-00.00.00.000000000000 2 I 2016-02-08-14.30.33.608585000244 9999-12-30-00.00.00.000000000000 3 I 2016-02-08-14.30.58.621274000244 9999-12-30-00.00.00.000000000000 4 I 2016-02-08-14.31.14.640404000244 9999-12-30-00.00.00.000000000000 |
select nocli, action, debut, fin from clients_histo |
NOCLI ACTION DEBUT FIN 1 I 2016-02-08-14.29.58.915480000244 2016-02-11-14.18.48.915480000244 |
Mais surtout
Exemple de deux échantillons ayant la même moyenne mais des écarts types différents
Nouvelles fonctions
SELECT cacli, SUM(cacli) over (order by nocli ) as sum FROM clients |
CACLI SUM 493.00 493.00 987.00 1,480.00 1,481.00 2,961.00 1,974.00 4,935.00 10,368.00 15,303.00 10,861.00 26,164.00 11,355.00 37,519.00 11,849.00 49,368.00 |
SELECT depcli, Sum(cacli) over (partition by depcli order by nocli ) as sum, cacli, nomcli FROM clients order by depcli |
DEPCLI SUM CACLI NOMCLI 31 1,481.00 1,481.00 Client TROIS 31 12,836.00 11,355.00 Client 20 et TROIS 44 493.00 493.00 Client UNO 44 10,861.00 10,368.00 Client 20 et UNO 69 1,974.00 1,974.00 Client QUATRE 69 13,823.00 11,849.00 Client 20 et QUATRE 75 987.00 987.00 Client DEUX 75 11,848.00 10,861.00 Client 20 et DEUX |
SELECT NTILE(3) over (order by cacli ) , CACLI ,NOMCLI FROM clients |
NTILE CACLI NOMCLI 1 493.00 Client UNO 1 987.00 Client DEUX 1 1,481.00 Client TROIS 2 1,974.00 Client QUATRE 2 10,368.00 Client 20 et UNO 2 10,861.00 Client 20 et DEUX 3 11,355.00 Client 20 et TROIS 3 11,849.00 Client 20 et QUATRE |
SELECT cume_dist() over (order by cacli ) , CACLI ,NOMCLI FROM clients |
CUME_DIST CACLI NOMCLI |
SELECT first_value(cacli) over (order by cacli ) , CACLI , cacli / first_value(cacli) over (order by cacli) AS NBRDEFOISPLUS FROM clients |
FIRST_VALUE CACLI NBRDEFOISPLUS |
SELECT SUM(cacli) over (order by cacli ) , CACLI , ratio_to_report(cacli) over (order by cacli) AS RATIO FROM clients |
SUM CACLI RATIO |
SELECT nocli, avg(cacli) over (order by nocli rows between 2 preceding and current row) as moy,
cacli,NOMCLI FROM clients order by nocli ou bien SELECT nocli, avg(cacli) over (order by nocli rows 2 preceding) as moy, cacli,NOMCLI FROM clients order by nocli |
NOCLI MOY CACLI NOMCLI |
Exemple
![]()
Qui aurait pu s'écrire
![]()
CREATE TABLE Personnel PARTITION BY RANGE ( datedepart ) (PARTITION p2013 STARTING (‘01/01/2013’) INCLUSIVE ENDING (‘12/31/2013’ ) EXCLUSIVE, PARTITION p2014 STARTING (‘01/01/2014’) INCLUSIVE ENDING (‘12/31/2014’ ) EXCLUSIVE, PARTITION p2015 STARTING (‘01/01/2015’) INCLUSIVE ENDING (‘12/31/2015’ ) EXCLUSIVE ) |
Enfin, les différentes Technology Refresh apportent un support de plus en plus complet de JSON