Mengira Peratusan dalam MySQL
Apabila bekerja dengan pangkalan data MySQL, anda mungkin menghadapi keperluan untuk mengira peratusan berdasarkan nilai tertentu. Satu senario sedemikian ialah menentukan peratusan ahli dalam kumpulan yang telah mengambil tinjauan.
Pernyataan Masalah
Pertimbangkan jadual pangkalan data MySQL berikut bernama "a_test" dengan empat lajur: "id", "group_name", "pekerja" dan "tinjauan". Matlamatnya adalah untuk mengira peratusan pekerja yang telah mengambil bahagian dalam tinjauan berdasarkan bilangan tinjauan yang diambil.
Penyata SQL yang Disediakan
Pernyataan SQL berikut telah cuba menyelesaikan masalah ini:
<code class="sql">SELECT group_name, employees, surveys, COUNT( surveys ) AS test1, ((COUNT( * ) / ( SELECT COUNT( * ) FROM a_test)) * 100 ) AS percentage FROM a_test GROUP BY employees</code>
Penyelesaian Dikaji
Untuk mengira dengan tepat peratusan pekerja yang telah mengambil tinjauan, pernyataan SQL yang disemak berikut disediakan:
<code class="sql">SELECT group_name, employees, surveys, COUNT( surveys ) AS test1, concat(round(( surveys/employees * 100 ),2),'%') AS percentage FROM a_test GROUP BY employees</code>
Penjelasan
Ini memastikan keputusan dipaparkan sebagai peratusan dengan bilangan tempat perpuluhan yang betul.
Sampel Data dan Output
Menggunakan data sampel berikut dalam jadual "a_test":
<code class="sql">INSERT INTO a_test (id, group_name, employees, surveys) VALUES (1, 'Awesome Group A', '100', '0'), (2, 'Awesome Group B', '200', '190'), (3, 'Awesome Group C', '300', '290');</code>
Pernyataan SQL yang disemak menghasilkan output berikut:
group_name | employees | surveys | percentage |
---|---|---|---|
Awesome Group A | 100 | 0 | 0.00% |
Awesome Group B | 200 | 190 | 95.00% |
Awesome Group C | 300 | 290 | 96.67% |
Seperti yang terbukti daripada output, peratusan pekerja yang telah mengambil tinjauan dikira dengan betul. Kumpulan B Awesome mempunyai 95% penyertaan, manakala Kumpulan Awesome C mempunyai 96.67% penyertaan.
Atas ialah kandungan terperinci Bagaimana Mengira Peratusan Pekerja yang Mengambil Tinjauan dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!