Mi sono imbattuto in questa domanda alla ricerca di una soluzione al mio problema di contare valori distinti. Cercando una risposta mi sono imbattuto in questo post . Vedi ultimo commento. L'ho testato e ho usato SQL. Funziona molto bene per me e ho pensato che avrei fornito un'altra soluzione qui.
In sintesi, utilizzando DENSE_RANK()
, con PARTITION BY
le colonne raggruppate e ORDER BY
entrambi ASC
e DESC
sulle colonne da contare:
DENSE_RANK() OVER (PARTITION BY drugClass ORDER BY drugName ASC) +
DENSE_RANK() OVER (PARTITION BY drugClass ORDER BY drugName DESC) - 1 AS drugCountsInFamilies
Lo uso come modello per me stesso.
DENSE_RANK() OVER (PARTITION BY PartitionByFields ORDER BY OrderByFields ASC ) +
DENSE_RANK() OVER (PARTITION BY PartitionByFields ORDER BY OrderByFields DESC) - 1 AS DistinctCount
Spero che questo aiuti!