個別の値を数えるという問題の解決策を探して、この質問に出くわしました。答えを探しているときに、この投稿 に出くわしました .最後のコメントを参照してください。私はそれをテストし、SQLを使用しました。それは私にとって非常にうまく機能し、ここで別の解決策を提供することにしました.
要約すると、 DENSE_RANK()
を使用して 、 PARTITION BY
付き グループ化された列、および ORDER BY
両方 ASC
および DESC
カウントする列:
DENSE_RANK() OVER (PARTITION BY drugClass ORDER BY drugName ASC) + DENSE_RANK() OVER (PARTITION BY drugClass ORDER BY drugName DESC) - 1 AS drugCountsInFamilies
プレ>これを自分用のテンプレートとして使用します。
DENSE_RANK() OVER (PARTITION BY PartitionByFields ORDER BY OrderByFields ASC ) + DENSE_RANK() OVER (PARTITION BY PartitionByFields ORDER BY OrderByFields DESC) - 1 AS DistinctCount
プレ>これがお役に立てば幸いです!