Jeg stødte på dette spørgsmål i søgen efter en løsning på mit problem med at tælle forskellige værdier. Da jeg søgte efter et svar stødte jeg på dette indlæg . Se sidste kommentar. Jeg har testet det og brugt SQL. Det fungerer rigtig godt for mig, og jeg regnede med, at jeg ville give en anden løsning her.
Sammenfattende ved hjælp af DENSE_RANK()
, med PARTITION BY
de grupperede kolonner og ORDER BY
både ASC
og DESC
på kolonnerne for at tælle:
DENSE_RANK() OVER (PARTITION BY drugClass ORDER BY drugName ASC) +
DENSE_RANK() OVER (PARTITION BY drugClass ORDER BY drugName DESC) - 1 AS drugCountsInFamilies
Jeg bruger dette som en skabelon for mig selv.
DENSE_RANK() OVER (PARTITION BY PartitionByFields ORDER BY OrderByFields ASC ) +
DENSE_RANK() OVER (PARTITION BY PartitionByFields ORDER BY OrderByFields DESC) - 1 AS DistinctCount
Jeg håber, at dette hjælper!