Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

x entri blog terakhir - tetapi hanya sekali per pengguna

Menggunakan subquery tampaknya berhasil - dengan sedikit trik ini:

$options = array(
    'fields' => array('MAX(SubBlog.created)'),
    'conditions' => array('SubBlog.user_id = Blog.user_id')
);
$subquery = $this->subquery('all', $options);

$options = array(
    'order'=>array($this->alias.'.published' => 'DESC'),
    'conditions' => array(
        'User.active' => 1,
        'Blog.status' => self::STATUS_ACTIVE, 
        'Blog.published = ' . $subquery
    ),
    'contain' => array('User.username'),
    'fields' => array(
        'User.id',  'User.username', 
        'Blog.id', 'Blog.headline', 'Blog.published'
    ),
    'limit' => $limit,
);
return $this->find('all', $options);

subquery() adalah metode AppModel:https://github .com/dereuromark/tools/blob/2.0/Lib/MyModel.php#L405



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ekspresi Tabel Umum di MySQL

  2. Cara termudah untuk menyalin database MySQL?

  3. MySQL secara efisien menyalin semua catatan dari satu tabel ke tabel lainnya

  4. Salin data ke tabel baru di MySQL

  5. Kesalahan Keyerror 255 saat menjalankan pymysql.connect