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

मापदंड के साथ MySQL खोज रैंकिंग

वह क्वेरी जो निर्दिष्ट अभियान के लिए प्रत्येक ग्राहक की कुल कॉल और उत्तर की गई कॉलों की गणना करती है

select 
    c.id,
    count(*) as total_calls,
    sum(case when answered=1 then 1 else 0 end) as answered_calls
from customer c
     join calls cs on c.id=cs.customer_id
where cs.campaign='2016-09'
group by c.id

फिर आप उपरोक्त क्वेरी को ऑर्डर करने के लिए एक सबक्वेरी के रूप में उपयोग कर सकते हैं

select sub.id, (@rank:[email protected]+1) as rank
from (the subquery above) sub, (select @rank:=1)
order by 
  case when sub.total_calls=0 then 0 else 1,
  sub.total_calls, 
  sub.answered_calls*100/sub.total_calls

आप परिणाम क्वेरी में कोई भी वांछित कॉलम शामिल कर सकते हैं




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Android के साथ MySQL डेटाबेस में छवि भेजना

  2. MySQL में AUTO_INCREMENT को रीसेट करने में लंबा समय लग रहा है

  3. MERGE स्टेटमेंट पर सिंटैक्स त्रुटि

  4. ORDER BY या PHP सॉर्ट फ़ंक्शंस के साथ MySQL क्वेरी को सॉर्ट करना

  5. पीडीओ बूलियन मोड में स्टेटमेंट तैयार करता है और उसके खिलाफ मैच करता है