Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menjana Julat Nombor dalam MySQL Menggunakan Hanya SQL?

Bagaimana untuk Menjana Julat Nombor dalam MySQL Menggunakan Hanya SQL?

Patricia Arquette
Lepaskan: 2025-01-18 02:07:11
asal
991 orang telah melayarinya

How to Generate a Range of Numbers in MySQL Using Only SQL?

Jana urutan nombor dalam MySQL

Menggunakan pertanyaan MySQL untuk menjana satu siri nombor berturut-turut boleh dicapai dalam pelbagai cara. Walau bagaimanapun, untuk penyelesaian berasaskan koleksi hanya menggunakan MySQL, pertimbangkan pertanyaan berikut:

<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 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9
    ) ONES
    CROSS JOIN (
        SELECT 0 SeqValue UNION ALL SELECT 10 UNION ALL SELECT 20 UNION ALL SELECT 30 UNION ALL SELECT 40 UNION ALL SELECT 50 UNION ALL SELECT 60 UNION ALL SELECT 70 UNION ALL SELECT 80 UNION ALL SELECT 90
    ) TENS
    CROSS JOIN (
        SELECT 0 SeqValue UNION ALL SELECT 100 UNION ALL SELECT 200 UNION ALL SELECT 300 UNION ALL SELECT 400 UNION ALL SELECT 500 UNION ALL SELECT 600 UNION ALL SELECT 700 UNION ALL SELECT 800 UNION ALL SELECT 900
    ) HUNDREDS
) SEQ;</code>
Salin selepas log masuk

Pertanyaan ini bergantung pada set subkueri bersarang untuk menjana urutan nombor. Khususnya:

  1. ONES: Menghasilkan urutan nombor dari 0 hingga 9.
  2. PULUHAN: Menghasilkan urutan gandaan 10 daripada 0 hingga 90.
  3. RATUS: Menghasilkan urutan gandaan 100 daripada 0 hingga 900.

Dengan menyertai silang subkueri ini, kami memperoleh semua kemungkinan gabungan jujukan. Subkueri SEQ akhir menggabungkan nilai ini untuk menjana urutan yang diingini:

<code>SeqValue = HUNDREDS.SeqValue + TENS.SeqValue + ONES.SeqValue</code>
Salin selepas log masuk

Sebagai contoh, untuk menjana jujukan dari 0 hingga 999, pertanyaan akan mengembalikan output berikut:

<code>nr
0
1
2
3
4
5
...
998
999</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Menjana Julat Nombor dalam MySQL Menggunakan Hanya SQL?. 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