Écrivez une requête permettant d'obtenir le top 100 des meilleurs livres (les best-sellers).
SELECT * FROM
(
SELECT RANK() OVER (ORDER BY count(*) DESC) AS rank, count(*) AS ventes, p.isbn AS isbn, p.titre AS titre
FROM f_dw_ventes v, f_dw_produit p
WHERE p.isbn=v.pro
GROUP BY p.isbn, p.titre
)
WHERE rank <= 100;
Si l'on dispose d'une vue avec l'attribut d'agrégation de fait best-seller, l'utiliser de préférence à la solution précédente.
Créer une vue permettant de voir la quantité vendue par semaine au format CSV : sem;q
.
Exporter le résultat dans un fichier CSV.
CREATE OR REPLACE VIEW dw_ventesParSem AS
SELECT d.sem || ';' || COUNT(*) AS ventesParSem
FROM f_dw_ventes v, f_dw_date d
WHERE v.dat=d.dat
GROUP BY d.sem
ORDER BY d.sem;
SET echo off
SET termout off
SET feedback off
SET heading off
SET PAGESIZE 0
SPOOL /tmp/ventesParSem.csv
SELECT * FROM dw_ventesParSem;
SPOOL off
@/projects/fantastic/exports/dw_ventesParSemCsv.sql
1;9113
2;9044
3;9241
4;9026
5;8899
6;8985
7;9081
8;9208
9;9004
10;8993
...