Esiste un principio, il Principio di Pareto o legge del 80/20, da cui deriva una simpatica classificazione spesso in uso in ambito aziendale, la classificazione ABC.

Poiché non voglio tediarvi con inutili particolari se già la conoscete né stare a spiegare cose facilmente reperibili in rete se non lo conoscete, vi indico direttamente due link su Wikipedia (benedetta sia) per capire meglio di cosa stiamo parlando:

Semplifichiamo dicendo che se abbiamo un’elenco di prodotti, clienti, vendite o simili, possiamo classificarli per fatturato in tre diverse classi ABC così da stabilirne l’importanza (e, se Pareto è confermato, poterci concentrare soprattutto sul primo 20% 🙂

  • Classe A – Clienti di importanza primaria – quelli che contribuiscono al primo 80% di fatturato, numericamente intorno al 20% dei clienti
  • Classe B – Clienti di importanza secondaria – quelli che contribuiscono al successivo 15% di fatturato, il 35% circa dei clienti
  • Classe C – Clienti di scarso impatto – quelli che contribuiscono all’ultimo 5% di fatturato, intorno al 45%

E’ un tipico caso con il quale, per chi come me programma da tanti anni, sicuramente ci si è venuti a scontrare, magari per produrre un famigerato report cartaceo.

Chiaramente non è un problema scrivere del codice per una classificazione ABC (sapendo programmare) ma se volessimo farlo in Oracle SQL ?
Magari con un’unica istruzione ?

Ipotizziamo di avere una view SQL di nome AZIENDE che ci restituisce l’elenco delle nostre aziende clienti con il loro fatturato:
Continua a leggere