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

MySQL GROUP BY/ORDER BY masalah

Itu tidak benar. Ini akan mengembalikan baris acak. Dalam praktiknya, ini sering kali merupakan baris pertama dalam urutan kunci utama, tetapi tidak ada jaminan. Basis data selain MySQL tidak mengizinkan praktik ini dan akan menimbulkan kesalahan.

Bagaimanapun, salah satu cara untuk mengambil ID tertinggi dari pesan yang belum dibaca adalah dengan menggabungkan tabel pesan dua kali. Gabung kedua hanya mencari pesan yang belum dibaca. Misalnya:

SELECT  max(msg.ID) as MaxID
,       messages.from
,       max(unread.ID) as MaxUnreadID
,       users.userName
FROM    users
join    messages msg
on      users.ID = msg.from
        and messages.to = ?
left join    
        messages unread
on      users.ID = unread.from
        and messages.to = ?
        and unread.read = 0
GROUP BY
        users.ID
,       users.userName


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Riwayat kueri meja kerja MySql ( kueri/kueri yang terakhir dieksekusi) yaitu membuat/mengubah tabel, memilih, menyisipkan kueri pembaruan

  2. Praktik terbaik untuk penanganan kesalahan menggunakan PDO

  3. hapus baris duplikat berdasarkan nilai satu kolom

  4. Mysql...Permintaan yang tidak mungkin?

  5. Memahami Log Audit ProxySQL