Saya merasa cukup sulit untuk mencapai kisaran angka seperti baris MySQL
.
Misalnya rentang 1-5 dicapai dengan:
SELECT 1
UNION
SELECT 2
UNION
SELECT 3
UNION
SELECT 4
UNION
SELECT 5
akan menghasilkan:
1 2 3 4 5
untuk 0-99 saya bisa bergabung dengan dua tabel 0-9:
CREATE TABLE nums as
SELECT 0 as num
UNION
SELECT 1
UNION
SELECT 2
UNION
SELECT 3
UNION
SELECT 4
UNION
SELECT 5
UNION
SELECT 6
UNION
SELECT 7
UNION
SELECT 8
UNION
SELECT 9
;
Select n.num*10+nums.num v
From nums n cross join nums
Saya bosan menulis semua ini UNION
dan mencari cara untuk mengecilkan kode.
Adakah ide bagaimana membuatnya golf (misalnya rentang 0-1.000.000) di MySQL atau sintaks SQL apa pun?
Poin ekstra diberikan untuk:
- satu pernyataan
- tidak ada prosedur
- tidak ada variabel
- tidak ada pernyataan DDL
- hanya pernyataan DQL
generate_series()
. Kami memiliki beberapa contoh penggunaan di sini.