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

mysql सीमा के साथ आंतरिक जुड़ने का चयन करें

आप एक रैंक क्वेरी का उपयोग कर सकते हैं mysql में इस प्रकार के परिणामों के लिए प्रति समूह n रिकॉर्ड प्राप्त करने के लिए विंडो फ़ंक्शन नहीं हैं, मैं group_concat का सुझाव नहीं दूंगा समाधान क्योंकि articles . के रूप में शर्तें कहती हैं कि पर्याप्त डेटा हो सकता है और आसानी से 1024 वर्ण सीमा बाधा को पार कर सकते हैं यदि आप इस सीमा को बढ़ाते हैं तो यह max_allowed_packet भी

SELECT * FROM (
SELECT *,
@r:= CASE WHEN @g = c.id THEN @r +1 ELSE 1 END rownum,
@g:= c.id catgroup
 FROM category c
 JOIN articles a ON (c.id = a,category_id)
CROSS JOIN (SELECT @g:=0,@r:=0) t2
ORDER BY c.id , a.`date` desc
) t
 WHERE rownum <= 5

ऊपर प्रत्येक लेख को उसके श्रेणी समूह में रैंक करेगा आप rownum . का परिणाम देख सकते हैं उपनाम और बाहरी क्वेरी में केवल लेखों के परिणामों को 5 प्रति श्रेणी समूह में फ़िल्टर करें



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. XML में मिलते-जुलते टैग कैसे जोड़ें?

  2. किसी फ़ील्ड को दोहराए बिना डेटाबेस रिकॉर्ड्स को दृश्य में कैसे प्रदर्शित करें?

  3. सामान्य डेटा पर अल्पविराम से अलग किए गए मान को समूहीकृत करना

  4. Mysql में फ़ोन नंबर खोज रहे हैं

  5. Mysql में पंक्तियों के एक सेट पर संचयी योग