Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mencipta Histogram dengan Tong Pratakrif dalam MySQL?

Bagaimana untuk Mencipta Histogram dengan Tong Pratakrif dalam MySQL?

Linda Hamilton
Linda Hamiltonasal
2024-10-31 04:49:301065semak imbas

How to Create Histograms with Predefined Bins in MySQL?

Mencipta Histogram dengan Tong Pratakrif dalam MySQL

Untuk mendapatkan data yang bertujuan untuk memplot histogram, pengguna mesti selalu mengumpulkan nilai berangka ke dalam tong yang dipratakrif. Pertanyaan SQL boleh menyelesaikan tugas ini, menghapuskan keperluan untuk skrip tambahan.

Pertimbangkan pertanyaan:

<code class="sql">select total, count(total) from faults GROUP BY total;</code>

Walau bagaimanapun, pertanyaan ini menghasilkan banyak baris. Untuk mengumpulkan data ke dalam tong sampah, ikuti langkah berikut:

  1. Bundarkan nilai angka kepada saiz tong yang diingini menggunakan fungsi ROUND() dengan offset negatif. Contohnya, untuk mencipta tong bersaiz 10, gunakan: ROUND(total, -1).
  2. Kumpulkan nilai bulat menggunakan klausa GROUP BY:
<code class="sql">SELECT ROUND(total, -1) AS bin, COUNT(*) AS count
FROM faults
GROUP BY bin;</code>

Pertanyaan ini mengumpulkan jumlah nilai ke dalam tong bersaiz 10 dan mengembalikan kiraan untuk setiap tong.

Contoh:

Pertimbangkan ralat jadual dengan data berikut:

total count
30 1
31 2
33 1
34 3
35 2
36 6
37 3
38 2
41 1
42 5
43 1
44 7
45 4
46 3
47 2
49 3
50 2
51 3
52 4
53 2
54 1
55 3
56 4
57 4
58 2
59 2
60 4
61 1
63 2
64 5
65 2
66 3
67 5
68 5

Pertanyaan berikut akan mengumpulkan nilai ke dalam tong bersaiz 10:

<code class="sql">SELECT ROUND(total, -1) AS bin, COUNT(*) AS count
FROM faults
GROUP BY bin;</code>

Output:

bin count
30 23
40 15
50 51
60 45

Atas ialah kandungan terperinci Bagaimana untuk Mencipta Histogram dengan Tong Pratakrif dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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