Heim >Datenbank >MySQL-Tutorial >Wie erstelle ich einen Bereich aufeinanderfolgender Zahlen in MySQL?

Wie erstelle ich einen Bereich aufeinanderfolgender Zahlen in MySQL?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-18 01:52:09469Durchsuche

How to Generate a Range of Consecutive Numbers in MySQL?

Generieren eines Zahlenbereichs in MySQL

Frage: So generieren Sie einen Bereich aufeinanderfolgender Zahlen (eine pro Zeile) mithilfe einer MySQL-Abfrage ?

Antwort:

MySQL bietet mehrere Techniken für Generieren eines Bereichs aufeinanderfolgender Zahlen ohne Schleifen. Eine Methode ist die Verwendung eines satzbasierten Ansatzes, der zur Wiederverwendbarkeit in eine Ansicht umgewandelt werden kann. Die folgende Abfrage demonstriert die Generierung einer Sequenz von 0 bis 999, die nach Bedarf angepasst werden kann:

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

Das obige ist der detaillierte Inhalt vonWie erstelle ich einen Bereich aufeinanderfolgender Zahlen in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn