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

Kelompokkan berdasarkan pengguna dan tampilkan yang terbaru di MYSQL tidak berfungsi

Seperti yang disebutkan dalam komentar untuk Jawaban Robin , pendekatan itu tidak dapat diandalkan karena MySQL tidak menjamin bahwa ia akan selalu mengembalikan status terbaru dari setiap grup. Anda harus bergabung dengan tabel Anda dengan subquery yang memilih status terbaru (berdasarkan addedDate ).

SELECT   *
FROM     status
  NATURAL JOIN (
    SELECT   userID, MAX(addedDate) as addedDate
    FROM     status
    GROUP BY userID
  ) AS mostRecent
ORDER BY addedDate DESC
LIMIT    10

Perhatikan bahwa jika pengguna memiliki beberapa pembaruan status dengan addedDate yang sama , server akan mengembalikan semuanya (sedangkan kueri Robin akan mengembalikan yang tidak pasti); jika Anda memerlukan kendali atas situasi seperti itu, Anda perlu menentukan bagaimana seseorang menentukan pembaruan status mana yang harus dipilih.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mencoba mendapatkan properti non-objek - CodeIgniter

  2. mengonfigurasi koneksi database dalam kerangka Yii

  3. mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows dll... mengharapkan parameter 1 menjadi sumber daya

  4. Bagaimana cara memperbarui dua kolom dalam database MySQL?

  5. MySQL memilih baris dari tepat 7 hari yang lalu