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

सिद्धांत 2 . द्वारा समूह के भीतर द्वारा आदेश

मैंने इसे एक सहसंबद्ध उपश्रेणी के साथ हल करना समाप्त कर दिया:

$qb
    ->select('a')
    ->from('Article', 'a')
    ->join('a.views', 'v')
    ->orderBy('v.viewDate', 'DESC')
    ->setMaxResults(20)

    // Only select the most recent article view for each individual article
    ->where('v.viewDate = (SELECT MAX(v2.viewDate) FROM ArticleView v2 WHERE v2.article = a)')

इस तरह यह क्रम किसी दिए गए लेख के लिए सबसे हालिया के अलावा ArticleView की उपेक्षा करता है। हालांकि मेरा अनुमान है कि यह अन्य कच्चे SQL समाधानों के सापेक्ष काफी खराब प्रदर्शन करता है - बेहतर प्रदर्शन वाले किसी भी उत्तर की अभी भी बहुत सराहना की जाएगी :)।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. AUTO_INCREMENT और LAST_INSERT_ID

  2. कैलेंडर तालिका से छूटी हुई तिथियों में शामिल होना

  3. MySQL और CodeIgniter में मैच और अगेंस्ट का उपयोग करना

  4. PHPUnit परीक्षण केवल Laravel 5 में मूल पृष्ठ (विज़िट ('/') ) पर जाने पर ही विफल हो जाता है

  5. संस्थाओं पर परिवर्तन संग्रहीत करना:क्या MySQL उचित समाधान है?