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

mySQL Angka terbesar menurut grup

Secara umum ORDER BY dalam sub-kueri tidak masuk akal. (Ini hanya berlaku jika digabungkan dengan FETCH FIRST/LIMIT/TOP dll.)

Solusinya adalah dengan menggunakan sub-kueri berkorelasi untuk menemukan ikan terberat untuk nama pengguna, lokasi, kombinasi spesies baris "permintaan utama" saat ini. Jika seri, kedua baris akan dikembalikan.

SELECT *
FROM entries e1
WHERE username = :user
  AND CAST(weight AS DECIMAL(9,3)) = (select max(CAST(weight AS DECIMAL(9,3)))
                                      from entries e2
                                      where e1.username = e2.username
                                        and e1.location = e2.location
                                        and e1.species = e2.species)

Perhatikan bahwa char untuk bobot masih merupakan pilihan yang buruk, karena itu Anda harus menggunakan kedua sisi saat membandingkan nilai. Kembali ke desimal di tabel Anda!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Permintaan SQL untuk pesan terbaru

  2. Python Dari Awal:Buat Situs Web Dinamis

  3. Tidak dapat mengembalikan hasil dari prosedur tersimpan menggunakan kursor Python

  4. Mengapa kueri MySQL ini menggunakan Rand() tidak mengembalikan hasil sekitar sepertiga dari waktu?

  5. Temukan posisi string dan gabung dengan baris tabel lain