Satır olarak bir dizi sayı elde etmeyi oldukça zor buldum MySQL
.
Örneğin 1-5 aralığına şu şekilde ulaşılır:
SELECT 1
UNION
SELECT 2
UNION
SELECT 3
UNION
SELECT 4
UNION
SELECT 5
sonuçlanacak:
1 2 3 4 5
0-99 için iki 0-9 tabloyu birleştirebilirim:
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
Tüm bunları yazmaktan UNION
ve kodu küçültmenin bir yolunu bulmaktan yoruldum .
Herhangi bir fikir MySQL veya herhangi bir SQL sözdizimi golf (örneğin 0-1.000.000 aralığı)?
Şunlar için ekstra puan verilir:
- tek açıklama
- prosedür yok
- değişken yok
- DDL ifadesi yok
- sadece DQL ifadeleri
generate_series()
. Burada birkaç kullanım örneğimiz var.