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

MYSQL pilih posting terbaru dari tabel

Hal ID akan tetap bekerja secara teoritis, asalkan ID tidak pernah berubah...

Saya akan merekomendasikan menggunakan bidang stempel waktu dalam struktur tabel yang disebut "tanggal" dan menggunakan "CURRENT_TIMESTAMP" sebagai nilai default, ini akan secara otomatis mengisi tanggal/waktu pada catatan saat dimasukkan...

Pesan dengan bidang ini DESC, batasi x

Juga, saya telah mengalami banyak kasus data yang salah muncul berkat pengelompokan... Pastikan data Anda benar sebelum ORDER BY dan LIMIT diterapkan

Untuk mendapatkan kiriman dari pengguna1 ke pengguna1 tidak perlu mengelompokkan berdasarkan:

SELECT * FROM posts 
WHERE toID=fromID
ORDER BY date DESC LIMIT 3

Untuk mendapatkan kiriman dari * ke pengguna1:

SELECT * FROM posts 
WHERE toID="USER1_ID"
ORDER BY date DESC LIMIT 3

Untuk mendapatkan pos dari * ke pengguna1, hanya pengguna unik:

SELECT * FROM posts 
WHERE toID="USER1_ID"
GROUP BY FromID
ORDER BY date DESC LIMIT 3

Kadang-kadang Anda akan mengalami masalah di mana catatan GROUPED tidak diurutkan oleh ORDER BY, karena ORDER BY diterapkan pada hasil SETELAH pengelompokan diterapkan... Untuk mencapai solusi:

SELECT * FROM (
  SELECT * FROM posts 
  WHERE toID="USER1_ID"
  ORDER BY date DESC
) as `derived` GROUP BY FromID LIMIT 3

Untuk Mendapatkan 3 pengguna terakhir yang baru-baru ini mengirim kiriman sendiri:

SELECT * FROM (
  SELECT * FROM posts 
  WHERE toID=fromID
  ORDER BY date DESC
) as `derived` GROUP BY FromID LIMIT 3


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Terhubung ke MySQL DB menggunakan multi-threading

  2. Pratinjau dan unggah gambar menggunakan database PHP dan MySQL

  3. Bagaimana cara mengatur character_set_database dan collation_database ke utf8 di my.ini?

  4. UPDATE jika ada yang lain INSERT di SQL

  5. Cara Membuat Tampilan MySQL