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

ORDER BY satu ID ketika ada lebih banyak ID yang sama dalam satu tabel

Kami ingin yang terbaru posting di setiap unik utas, kita bisa melakukannya dengan...

Menggunakan GROUP BY dan HAVING .

SELECT * 
FROM Posts
JOIN Discussions
    on Discussions.discussion_id = Posts.discussion_id
GROUP BY Discussions.discussion_id
HAVING Posts.post_time = max(Posts.post_time)
ORDER BY Posts.post_time DESC

Ini adalah contoh ! Pastikan Anda menggunakannya untuk memodifikasi Anda sendiri, itu cukup sederhana. Saya tidak memiliki database untuk menguji ini, tetapi saya diuji dengan data saya sendiri dan kolom yang berbeda dan berhasil.

Catatan: Ini mengasumsikan bahwa setiap Id identik di kedua tabel. Ini juga mengasumsikan bahwa post_time adalah beberapa nilai waktu yang meningkat semakin baru posting tersebut (yaitu SQL Timestamp).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana saya bisa membuat penginstal untuk situs web. PHP mysql

  2. Ketika Anda memiliki bidang TEXT di MySQL atau PostgreSQL, haruskah Anda meletakkannya di tabel terpisah?

  3. Bagaimana cara mendeteksi bahwa transaksi telah dimulai?

  4. MySQL InnoDB tidak melepaskan ruang disk setelah menghapus baris data dari tabel

  5. java.lang.IncompatibleClassChangeError:Ditemukan kelas com.mysql.jdbc.Statement, tetapi antarmuka diharapkan