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

Database dunia MySQL Mencoba menghindari subquery

Ini adalah masalah "terbesar-n-per-grup" yang sering muncul di StackOverflow.

SELECT c1.Continent, c1.Name
FROM Country c1
LEFT OUTER JOIN Country c2
  ON (c1.continent = c2.continent AND c1.Population < c2.Population)
WHERE c2.continent IS NULL;

Penjelasan:gabung cari negara c2 yang memiliki benua yang sama dan populasi yang lebih besar. Jika Anda tidak dapat menemukannya (yang ditunjukkan oleh gabungan luar yang mengembalikan NULL untuk semua kolom c2 ) lalu c1 harus menjadi negara dengan populasi tertinggi di benua itu.

Perhatikan bahwa ini dapat menemukan lebih dari satu negara per benua, jika ada seri untuk posisi #1. Dengan kata lain, mungkin ada dua negara yang tidak memiliki negara ketiga dengan populasi yang lebih besar.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:Melewati params prosedur ke pernyataan EXECUTE MENGGUNAKAN

  2. Mengapa urutan luar oleh tidak berfungsi dengan benar?

  3. Woocommerce mendapatkan id Produk menggunakan SKU produk

  4. Bagaimana cara mendapatkan ID dari baris yang terakhir diperbarui di MySQL?

  5. Kueri bersarang di node js menggunakan mysql