Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

विंडो अलग-अलग रिकॉर्ड गिनने के लिए कार्य करती है

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

संक्षेप में, 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

मुझे आशा है कि यह मदद करता है!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर 2008 में मैं NHibernate से अपनी संग्रहीत प्रक्रिया में तालिका-मूल्यवान पैरामीटर पास करने में सक्षम हूं। Oracle में इसे कैसे प्राप्त करें

  2. पायथन (pyodbc) से SQL सर्वर संग्रहीत कार्यविधियों का उपयोग करना

  3. डोमेन\उपयोगकर्ता के लिए सिंटैक्स प्रदान करें

  4. SQL IF कथन को अनदेखा किया जा रहा है

  5. SQL सर्वर में एक डेटाबेस की गतिविधि का विश्लेषण कैसे करें