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

जन्म तिथि के आधार पर एक निश्चित आयु सीमा में उपयोगकर्ता की संख्या की गणना करें

जन्मतिथि को श्रेणी के नाम में बदलें, फिर उसके ऊपर गिनती के साथ एक समूह बनाएं:

select
  case when age < 18 then 'Under 18'
       when age > 50 then  'Over 50'
       else  '18-50' end as range,
  count(*) as count
from (select DATEDIFF(yy, user_dob, GETDATE()) as age from Customer) c
group by case when age < 18 then 'Under 18'
   when age > 50 then  'Over 50'
   else  '18-50' end

जन्मतिथि को एक सीमा में बदलने के लिए एक सबक्वेरी का उपयोग करके, गणना केवल प्रति पंक्ति एक बार की जानी चाहिए, इसलिए इसे बेहतर प्रदर्शन करना चाहिए। और इसे पढ़ना आसान है।

साथ ही, UNIONs से बचकर, क्वेरी को टेबल के ऊपर एक पास में निष्पादित किया जा सकता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. लिंक किए गए सर्वर से सम्मिलित करने का प्रयास करते समय वर्तमान आदेश पर गंभीर त्रुटि उत्पन्न हुई

  2. निकाय ढांचे का उपयोग करके संग्रहीत कार्यविधि निष्पादित करें

  3. डेटाबेस में प्रदर्शित ट्री संरचना को क्लोन करने के लिए SQL का उपयोग करें

  4. SSRS रिपोर्ट परिभाषा सर्वर से नई है

  5. एसक्यूएल में स्ट्रिंग से चार, डबल, इंट पैटर्न पढ़ें