Ik kwam deze vraag tegen op zoek naar een oplossing voor mijn probleem van het tellen van verschillende waarden. Bij het zoeken naar een antwoord kwam ik deze post tegen . Zie laatste opmerking. Ik heb het getest en de SQL gebruikt. Het werkt echt goed voor mij en ik dacht dat ik hier een andere oplossing zou bieden.
Samengevat, met behulp van DENSE_RANK()
, met PARTITION BY
de gegroepeerde kolommen, en ORDER BY
beide ASC
en DESC
op de kolommen om te tellen:
DENSE_RANK() OVER (PARTITION BY drugClass ORDER BY drugName ASC) +
DENSE_RANK() OVER (PARTITION BY drugClass ORDER BY drugName DESC) - 1 AS drugCountsInFamilies
Ik gebruik dit als sjabloon voor mezelf.
DENSE_RANK() OVER (PARTITION BY PartitionByFields ORDER BY OrderByFields ASC ) +
DENSE_RANK() OVER (PARTITION BY PartitionByFields ORDER BY OrderByFields DESC) - 1 AS DistinctCount
Ik hoop dat dit helpt!