Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Menjana Satu Siri Nombor Menggunakan Pertanyaan SQL?

Bagaimanakah Saya Boleh Menjana Satu Siri Nombor Menggunakan Pertanyaan SQL?

Patricia Arquette
Lepaskan: 2025-01-20 03:11:09
asal
521 orang telah melayarinya

How Can I Generate a Series of Numbers Using SQL Queries?

Gunakan pertanyaan SQL untuk menjana urutan nombor

Apabila berurusan dengan data berangka, selalunya perlu menjana julat nombor antara dua nilai tertentu. SQL memudahkan ini, membolehkan anda menentukan julat nombor secara eksplisit atau menggunakan subquery.

Salah satu cara ialah menggunakan kata kunci VALUES untuk mencipta satu siri nilai tidak berterusan. Dengan menggunakan sambung silang untuk menyertai nilai ini, sejumlah besar gabungan boleh dijana. Kaedah ini mudah dan berkesan.

Sebagai contoh, jika anda mempunyai dua nombor input, katakan 1000 dan 1050, anda boleh menjana keseluruhan jujukan menggunakan pertanyaan berikut:

WITH x AS (SELECT n FROM (VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) v(n))
SELECT ROW_NUMBER() OVER (ORDER BY (SELECT NULL))
FROM x ones, x tens, x hundreds, x thousands
ORDER BY 1
Salin selepas log masuk

Pertanyaan ini akan menjana urutan nombor dari 1000 hingga 1050, dengan setiap nombor menduduki satu baris. Sebagai alternatif, anda boleh membuat versi pertanyaan anda yang lebih terperinci:

SELECT ones.n + 10*tens.n + 100*hundreds.n + 1000*thousands.n
FROM (VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) ones(n),
     (VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) tens(n),
     (VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) hundreds(n),
     (VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) thousands(n)
ORDER BY 1
Salin selepas log masuk

Kedua-dua pertanyaan boleh dilanjutkan kepada julat nombor tertentu dengan menambahkan klausa WHERE. Untuk meningkatkan kebolehgunaan semula, anda juga boleh menentukan fungsi bernilai jadual untuk menjana julat berangka.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjana Satu Siri Nombor Menggunakan Pertanyaan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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