Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mencipta Histogram dalam MySQL dengan Selang Pratakrif?
Pengeluaran Data Histogram dalam MySQL
MySQL secara asalnya menyediakan sokongan terhad untuk binning data ke dalam selang masa yang telah ditetapkan untuk memplot histogram. Walau bagaimanapun, tugasan ini boleh dicapai menggunakan pendekatan yang diubah suai.
Pertanyaan SQL yang anda berikan:
select total, count(total) from faults GROUP BY total;
menjana bilangan baris yang berlebihan. Untuk mengumpulkan data ke dalam tong yang dipratentukan, anda boleh mempertimbangkan penyelesaian berikut:
ROUND(numeric_value, -2) AS baldi,
COUNT(*) AS COUNT, RPAD('', LN(COUNT(*)), '*') AS bar
DARI my_table
KUMPULAN MENGIKUT baldi;
Dengan melaraskan kenaikan BULAT, anda boleh menentukan saiz tong. Contohnya, ROUND(numeric_value, -2) mengumpulkan data ke dalam baldi 100 (-200 hingga -100, -100 hingga 0, dsb.).
Mengubah suai offset dalam operasi ROUNDing memastikan baldi pertama mengandungi seberapa banyak elemen sebagai baldi berikutnya. Untuk ROUND(numeric_value, -1), numeric_value dalam julat [0,4] (5 elemen) akan diletakkan dalam baldi pertama, manakala [5,14] (10 elemen) dalam kedua, [15,24] dalam ketiga, melainkan numeric_value diimbangi dengan sewajarnya melalui ROUND(numeric_value - 5, -1).
Sebagai contoh, pertanyaan berikut menjana histogram dengan penskalaan bar logaritma:
SELECT ROUND(total, -2) AS bucket, COUNT(*) AS COUNT, RPAD('', LN(COUNT(*)), '*') AS bar FROM faults GROUP BY bucket;
Pendekatan ini menyediakan kaedah yang cepat dan boleh disesuaikan untuk mencipta histogram dalam MySQL, membolehkan penyesuaian mudah kepada kes penggunaan tertentu.
Atas ialah kandungan terperinci Bagaimana untuk Mencipta Histogram dalam MySQL dengan Selang Pratakrif?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!