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

temukan maksimum set kolom untuk beberapa baris dalam kueri mysql

SELECT
  *
FROM
(
  SELECT
    ROW_NUMBER() OVER (PARTITION BY Code ORDER BY Year DESC, Month DESC) AS row_number,
    *
  FROM
    myTable
)
  AS orderedTable
WHERE
  row_number = 1


EDIT Dan sekarang untuk versi yang BEKERJA di MySQL...

SELECT
  *
FROM
  myTable
WHERE
  Year * 12 + Month = (SELECT MAX(Year * 12 + Month) FROM myTable AS lookup WHERE Code = myTable.Code)

EDIT Setelah akses ke SQL, dapat mengkonfirmasi ini lebih cepat...

WHERE
    Year  = (SELECT MAX(Year)  FROM myTable AS lookup WHERE Code = myTable.Code)
AND Month = (SELECT MAX(Month) FROM myTable AS lookup WHERE Code = myTable.Code AND Year = myTable.Year)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kapan menggunakan tanda kutip tunggal, tanda kutip ganda, dan tanda kutip di MySQL

  2. MySQL KIRI GABUNG 3 tabel

  3. Pencarian lambat dengan kueri indeks LIKE% MYSQL

  4. MySQL:Bagaimana cara mereset atau mengubah kata sandi root MySQL?

  5. PHP mengubah koma menjadi <br />