Rumah > pangkalan data > tutorial mysql > Bagaimanakah SQL Boleh Mengira Taburan Peratusan Gred daripada Data Teks Tidak Berstruktur?

Bagaimanakah SQL Boleh Mengira Taburan Peratusan Gred daripada Data Teks Tidak Berstruktur?

Patricia Arquette
Lepaskan: 2025-01-17 04:01:09
asal
457 orang telah melayarinya

How Can SQL Calculate Grade Percentage Distributions from Unstructured Text Data?

Mengira Peratusan Gred dengan Cekap daripada Data Tidak Berstruktur dengan SQL

Menyimpan gred sebagai teks percuma dalam pangkalan data memberikan cabaran apabila mengira taburan peratusan gred. Artikel ini menawarkan penyelesaian SQL untuk mengira peratusan ini untuk semua gred, walaupun tanpa nilai gred yang dipratakrifkan.

Pertanyaan SQL untuk Pengiraan Peratusan

Pertanyaan SQL ini memanfaatkan fungsi over() untuk pengiraan peratusan yang cekap merentas nilai gred unik:

<code class="language-sql">SELECT Grade, COUNT(*) * 100.0 / SUM(COUNT(*)) OVER ()
FROM MyTable
GROUP BY Grade;</code>
Salin selepas log masuk

Fungsi over() mengira jumlah kiraan baris merentas keseluruhan jadual, membolehkan pengiraan peratusan tanpa perlu menyatakan semua gred yang mungkin.

Pertanyaan SQL Alternatif (untuk Pangkalan Data tanpa Fungsi over())

Untuk pangkalan data yang tidak mempunyai fungsi over(), pertanyaan alternatif ini menggunakan subkueri:

<code class="language-sql">SELECT Grade, COUNT(*) * 100.0 / (SELECT COUNT(*) FROM MyTable)
FROM MyTable
GROUP BY Grade;</code>
Salin selepas log masuk

Pendekatan ini menggunakan subkueri untuk mendapatkan jumlah kiraan baris, kemudian mengira peratusan.

Nota Penting: Penyelesaian ini mengira peratusan dengan tepat apabila data gred disimpan sebagai nilai aksara tunggal (cth., 'A', 'B', 'C'). Format gred yang lebih kompleks dalam teks tidak berstruktur memerlukan prapemprosesan untuk mengekstrak nilai gred sebelum menggunakan pertanyaan SQL ini.

Atas ialah kandungan terperinci Bagaimanakah SQL Boleh Mengira Taburan Peratusan Gred daripada Data Teks Tidak Berstruktur?. 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