मैंने इसे एक सहसंबद्ध उपश्रेणी के साथ हल करना समाप्त कर दिया:
$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 समाधानों के सापेक्ष काफी खराब प्रदर्शन करता है - बेहतर प्रदर्शन वाले किसी भी उत्तर की अभी भी बहुत सराहना की जाएगी :)।