Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Oracle:mendapatkan nilai maksimum grup?

Saya cenderung menggunakan fungsi analitik

SELECT monitor_id,
       host_name,
       calibration_date,
       value
  FROM (SELECT b.monitor_id,
               b.host_name,
               a.calibration_date,
               a.value,
               rank() over (partition by b.monitor_id order by a.calibration_date desc) rnk
          FROM table_name a,
               table_name2 b
         WHERE a.some_key = b.some_key)
 WHERE rnk = 1

Anda juga dapat menggunakan subkueri yang berkorelasi meskipun itu akan kurang efisien

SELECT monitor_id,
       calibration_date,
       value
  FROM table_name a
 WHERE a.calibration_date = (SELECT MAX(b.calibration_date)
                               FROM table_name b
                              WHERE a.monitor_id = b.monitor_id)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle:Masukkan data tipe baris ke tabel lain

  2. Bagaimana cara menghapus digit dan karakter khusus dari awal string?

  3. SQL Server setara dengan Oracle LEAST?

  4. Bagaimana Menjadwalkan Pekerjaan di Oracle SQL Developer?

  5. Kursus kilat penyetelan kinerja Oracle PL/SQL