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

दो तालिकाओं के लिए कई स्थितियों के आधार पर घटनाओं की गणना करें

अगर मैं आपका सही ढंग से अनुसरण करता हूं, तो आप exists का उपयोग कर सकते हैं table2 . पर फ़िल्टर करने के लिए :

select count(*) as cnt
from table1 t1
where t1.sex = 1 and t1.age = 3 and exists (
    select 1
    from table2 t2 
    where t2.id = t1.id and t2.var1 = 'Wisconsin'
)

यह पहली तालिका में पंक्तियों की गणना करता है जिसके लिए कम से कम एक दूसरी तालिका में पंक्ति में विस्कॉन्सिन है। दूसरी ओर, यदि आप यह सुनिश्चित करना चाहते हैं कि सभी पंक्तियाँ दूसरी तालिका में शर्त को पूरा करते हैं, तो एक विकल्प है:

select count(*) as cnt
from table1 t1
inner join (
    select id
    from table2
    group by id
    having min(var1 <=> 'Wisconsin') = 1
) t2 on t2.id = t1.id
where t1.sex = 1 and t1.age = 3


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. हाइबरनेट मानदंड API:n यादृच्छिक पंक्तियाँ प्राप्त करें

  2. Laravel अज्ञात कॉलम 'update_at'

  3. फ़ॉर्मेटिंग खोए बिना टेक्स्टरेरा से MySQL डेटाबेस में टेक्स्ट सम्मिलित करना

  4. असमर्थित स्कैन, ड्राइवर को संग्रहित करना। मान प्रकार []uint8 प्रकार *time.Time . में

  5. Doctrine2 (Symfony2) में केस द्वारा ऑर्डर कैसे करें