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

jam waktu mysql

Anda melewatkan GROUP BY klausa untuk MAX() . Anda agregat. Alasan Anda mendapatkan jawaban yang benar 12 untuk percobaan kueri pertama Anda hanya karena itu adalah ID terbesar dalam tabel sementara juga secara kebetulan milik emp_id = 1 . Anda akan mendapatkan hasil yang sama untuk salah satu emp_id nilai-nilai. Sebuah GROUP BY klausa akan menyelesaikan masalah ini.

Berikut adalah contoh mengambil seluruh baris untuk catatan terkait:

SELECT * FROM timeclock 
WHERE id = (SELECT MAX(id) AS id FROM timeclock WHERE emp_id = 1 GROUP BY emp_id);

Ini juga dapat dilakukan dengan HAVING klausa, tidak memerlukan subquery:

SELECT action 
FROM timeclock 
WHERE emp_id = 1
GROUP BY emp_id
HAVING id = MAX(id);

Untuk referensi, referensi fungsi agregat MySQL.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Perbandingan Kinerja Antara sql SELECT NULL dan SELECT 1

  2. mengatur port mamp ke 80 dan 3306

  3. Bagaimana cara menyembunyikan kolom di kotak daftar winform?

  4. MySQL:Bagaimana mengizinkan koneksi jarak jauh ke mysql

  5. Menulis ulang mysql pilih untuk mengurangi waktu dan menulis tmp ke disk