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

mysql में प्रति समूह n पंक्तियों का चयन करें

आपके पास कई समाधान हैं और उनमें से एक है left join . का उपयोग करना और आप इसकी जांच कर सकते हैं

select t1.* from test t1
left join test t2
on t1.type = t2.type and t1.price > t2.price
group by t1.variety
having count(*) <=1
order by t1.type,t1.price

तर्क एक ही टेबल के साथ लेफ्ट जॉइन करना है जहां प्रकार समान है और कीमत दूसरे की तुलना में कम है और अंत में group by करें विविधता और फिर प्रति समूह इच्छित रिकॉर्ड की संख्या दिखाने के लिए गिनती() का उपयोग करें। ध्यान दें कि mysql में आपको उपरोक्त क्वेरी की तरह एक समूह द्वारा एक समूह रखने की स्वतंत्रता है जो अन्य RDBMS में विफल हो सकती है।

अब जैसा कि आपको alias . के बारे में कुछ भ्रम है , उपरोक्त उदाहरण में तालिका का नाम test . है और क्वेरी के भीतर एक छद्म नाम t1 . के रूप में दिया गया है . साथ ही जब आप स्वयं को शामिल करते हैं तो यह महत्वपूर्ण है कि आप उसी तालिका के लिए अद्वितीय उपनाम नाम दें। ऊपर के उदाहरण में एक ही टेबल खुद से जुड़ी हुई है इसलिए हमें यह सुनिश्चित करने की जरूरत है कि हम टेबल के लिए कुछ उपनाम दें।




  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. MySQL GROUP BY एक कॉलम और अलग-अलग कॉलम में मान दिखाएं

  3. mysql आदेश varchar फ़ील्ड पूर्णांक के रूप में

  4. सभी पंक्तियों को प्राप्त करने के लिए बहुत से संबंधित हैं (लारवेल)

  5. Mysql से बड़ी मात्रा में डेटा के साथ काम करना