Heim > Datenbank > MySQL-Tutorial > Wie kann ich in MySQL eine Folge von Ganzzahlen generieren?

Wie kann ich in MySQL eine Folge von Ganzzahlen generieren?

Patricia Arquette
Freigeben: 2024-12-20 12:22:09
Original
869 Leute haben es durchsucht

How Can I Generate a Sequence of Integers in MySQL?

Erstellen einer Folge von Ganzzahlen in MySQL

Das Erstellen einer einfachen Folge von Ganzzahlen von n bis einschließlich m kann eine häufige Anforderung bei Datenbankoperationen sein . Um dies in MySQL zu erreichen, ist eine häufig empfohlene Methode die Verwendung eines rekursiven Common Table Expression (CTE).

Ein solcher Ansatz besteht darin, einen rekursiven CTE mit einer vorhandenen Tabelle zusammenzuführen:

WITH RECURSIVE Numbers AS (
    SELECT
        n,
        n + 1 AS next_n
    FROM Numbers
    WHERE n < m
    UNION
    SELECT
        m,
        NULL
)
SELECT
    n
FROM Numbers
ORDER BY n;
Nach dem Login kopieren

In In diesem Beispiel ist der Zahlen-CTE so definiert, dass er eine Folge von Ganzzahlen generiert, indem er iterativ 1 zum vorherigen Wert addiert, bis er den angegebenen Maximalwert m erreicht. Die Abfrage verwendet dann diesen CTE, um die generierte Sequenz auszuwählen und zu ordnen.

Ein alternativer Ansatz, wie in der Referenzfrage vorgeschlagen, beinhaltet die Verwendung einer einzelnen Abfrage mit einer benutzerdefinierten Variablen:

SET @row := 0;
SELECT
    @row := @row + 1 AS row,
    t.*
FROM some_table t, (SELECT @row := 0) r;
Nach dem Login kopieren

Diese Methode initialisiert die @row-Variable auf 0 und erhöht sie für jede Zeile im Ergebnissatz um 1. Während dieser Ansatz in manchen Szenarien einfacher sein kann, basiert er auf benutzerdefinierten Variablen, die nicht in allen MySQL-Versionen oder -Kontexten unterstützt werden.

Das obige ist der detaillierte Inhalt vonWie kann ich in MySQL eine Folge von Ganzzahlen generieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage