Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Thứ tự theo nhóm trong Doctrine 2

Tôi đã giải quyết xong nó bằng một truy vấn con tương quan:

$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)')

Theo cách đó, loại bỏ qua ArticleView khác với ArticleView gần đây nhất cho bất kỳ bài viết nhất định nào. Mặc dù suy đoán của tôi là điều này hoạt động khá kém so với các giải pháp SQL thô khác - bất kỳ câu trả lời nào có hiệu suất tốt hơn vẫn sẽ được đánh giá cao :).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. phân vùng tự động cơ sở dữ liệu mysql

  2. PHP MYSQL INSERT giúp không có lỗi

  3. MySql.Data.MySqlClient.MySqlException:“Máy chủ lưu trữ cục bộ không hỗ trợ kết nối SSL.”

  4. PDO + MySQL luôn trả về chuỗi, nhưng MsSQL thì sao?

  5. Làm thế nào để lưu trữ Ký hiệu Euro trong cơ sở dữ liệu mysql?