Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menjana Julat Nombor dengan Cekap dalam MySQL Tanpa Gelung?
Menjana Urutan Nombor dalam MySQL Tanpa Gelung
MySQL selalunya memerlukan penjanaan nombor berturut-turut untuk tugasan seperti mengisi jadual atau menyusun data. Ini boleh dicapai dengan cekap menggunakan operasi berasaskan set, mengelakkan keperluan untuk gelung.
Berikut ialah pertanyaan untuk menjana julat berangka:
<code class="language-sql">INSERT INTO myTable (nr) SELECT SEQ.SeqValue FROM ( SELECT (HUNDREDS.SeqValue + TENS.SeqValue + ONES.SeqValue) SeqValue FROM ( SELECT 0 SeqValue UNION ALL SELECT 1 SeqValue ... UNION ALL SELECT 9 SeqValue ) ONES CROSS JOIN ( SELECT 0 SeqValue UNION ALL SELECT 10 SeqValue ... UNION ALL SELECT 90 SeqValue ) TENS CROSS JOIN ( SELECT 0 SeqValue UNION ALL SELECT 100 SeqValue ... UNION ALL SELECT 900 SeqValue ) HUNDREDS ) SEQ;</code>
Pertanyaan ini memanfaatkan subkueri (ONES
, TENS
, HUNDREDS
) untuk mencipta set digit (0-9, 0-90, 0-900). CROSS JOIN
menggabungkan set ini, menghasilkan semua kombinasi yang mungkin. Hasilnya dijumlahkan untuk mencipta jujukan, dan akhirnya dimasukkan ke dalam myTable
.
Pendekatan ini menawarkan kaedah berskala dan cekap untuk mencipta urutan berangka dalam MySQL, menghapuskan overhed gelung prosedur. Julat mudah dilaraskan dengan mengubah suai subkueri.
Atas ialah kandungan terperinci Bagaimana untuk Menjana Julat Nombor dengan Cekap dalam MySQL Tanpa Gelung?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!