अलग-अलग मूल्यों को गिनने की मेरी समस्या के समाधान की तलाश में मुझे यह प्रश्न मिला। उत्तर की तलाश में मुझे यह पोस्ट मिला। . अंतिम टिप्पणी देखें। मैंने इसका परीक्षण किया है और एसक्यूएल का इस्तेमाल किया है। यह मेरे लिए वास्तव में अच्छा काम करता है और मुझे लगा कि मैं यहां एक और समाधान प्रदान करूंगा।
संक्षेप में, 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
मुझे आशा है कि यह मदद करता है!