Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mencari ID Makanan Paling Kerap bagi setiap Negara dalam SQL?

Bagaimana untuk Mencari ID Makanan Paling Kerap bagi setiap Negara dalam SQL?

Susan Sarandon
Lepaskan: 2024-12-19 14:50:10
asal
777 orang telah melayarinya

How to Find the Most Frequent Food ID per Country in SQL?

Mencari Nilai Paling Biasa untuk Lajur Diberi Nilai Lajur Lain dalam SQL

Dalam senario di mana jadual mengandungi berbilang lajur, seperti "country", "food_id", dan "eten", tugas biasa ialah menentukan nilai yang paling kerap berlaku untuk satu lajur ("food_id") dalam setiap nilai unik lajur lain ("negara").

Satu pendekatan, seperti yang dinyatakan dalam soalan, melibatkan mencipta jadual sementara dan melakukan berbilang subkueri untuk mengira kiraan, cari kiraan maksimum , dan dapatkan semula nilai "food_id" yang sepadan. Walaupun berfungsi, kaedah ini kelihatan menyusahkan.

Nasib baik, PostgreSQL 9.4 memperkenalkan penyelesaian yang lebih mudah: fungsi mod(). Fungsi ini menyediakan cara yang cekap untuk mencari nilai yang paling biasa untuk lajur tertentu dalam setiap kumpulan yang ditakrifkan oleh ungkapan kumpulan.

Untuk menggunakan fungsi mod() untuk tugasan ini, pertanyaan SQL berikut boleh digunakan:

SELECT mode() within group (order by food_id)
FROM munch
GROUP BY country
Salin selepas log masuk

Pertanyaan ini memanfaatkan fungsi mod() untuk mengira nilai "food_id" yang paling biasa untuk setiap nilai "negara" yang unik. Klausa WITHIN GROUP (ORDER BY food_id) memastikan bahawa fungsi mod() beroperasi pada lajur "food_id" dalam setiap kumpulan negara, menyusun nilai dalam tertib menaik sebelum mengenal pasti mod.

Hasil pertanyaan ini , seperti yang ditunjukkan dalam jawapan yang disediakan, akan menjadi jadual yang memaparkan "negara" dan "food_id" yang sepadan dengannya. nilai:

country | mode
--------------
GB      | 3
US      | 1
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Mencari ID Makanan Paling Kerap bagi setiap Negara dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan