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

Oracle डेटाबेस में SQL क्वेरी का उपयोग करके आयु समूहों के आधार पर लोगों की गिनती कैसे प्राप्त करें?

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

trunc( months_between( sysdate, p.birth_date )/ 12 )

दूसरा, यदि आप श्रेणियों के आधार पर समूह बनाना चाहते हैं, तो आपको बस case . में श्रेणी का चयन करना होगा उसके द्वारा कथन और समूह

SELECT (case when age <= 5
             then 'age <= 5'
             when age > 5 and age <= 10
             then 'age > 5 and age <= 10'
             else 'age > 10'
         end) bucket,
       count(*)
  FROM( SELECT trunc( months_between( sysdate, p.birth_date )/ 12 ) age
          FROM person p )
 GROUP BY (case when age <= 5
                then 'age <= 5'
                when age > 5 and age <= 10
                then 'age > 5 and age <= 10'
                else 'age > 10'
            end)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. plsql डेवलपर में दो से अधिक कॉलम कैसे संयोजित करें?

  2. पदानुक्रम तालिका का पथ कैसे प्राप्त करें

  3. क्या Oracle Sql में !=और <> के बीच कोई अंतर है?

  4. JMeter से संग्रहित प्रक्रिया चलाना

  5. त्रुटि:ORA-06553:PLS-306:प्रक्रिया के लिए कॉल में गलत संख्या या तर्कों के प्रकार