Heim > Datenbank > MySQL-Tutorial > Wie kann ich mithilfe von SQL-Abfragen eine Zahlenreihe generieren?

Wie kann ich mithilfe von SQL-Abfragen eine Zahlenreihe generieren?

Patricia Arquette
Freigeben: 2025-01-20 03:11:09
Original
456 Leute haben es durchsucht

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

Verwenden Sie eine SQL-Abfrage, um eine Zahlenfolge zu generieren

Beim Umgang mit numerischen Daten ist es oft notwendig, einen Zahlenbereich zwischen zwei spezifischen Werten zu generieren. SQL macht dies einfach, indem es Ihnen ermöglicht, explizit einen Zahlenbereich anzugeben oder eine Unterabfrage zu verwenden.

Eine Möglichkeit besteht darin, das Schlüsselwort VALUES zu verwenden, um eine Reihe nicht persistenter Werte zu erstellen. Durch die Verwendung von Cross-Joins zum Verbinden dieser Werte kann eine große Anzahl von Kombinationen generiert werden. Diese Methode ist einfach und effizient.

Wenn Sie beispielsweise zwei Eingabezahlen haben, beispielsweise 1000 und 1050, können Sie die gesamte Sequenz mit der folgenden Abfrage generieren:

<code class="language-sql">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</code>
Nach dem Login kopieren

Diese Abfrage generiert eine Zahlenfolge von 1000 bis 1050, wobei jede Zahl eine Zeile einnimmt. Alternativ können Sie eine detailliertere Version Ihrer Abfrage erstellen:

<code class="language-sql">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</code>
Nach dem Login kopieren

Beide Abfragen können durch Hinzufügen einer WHERE-Klausel auf einen bestimmten Zahlenbereich erweitert werden. Um die Wiederverwendbarkeit zu verbessern, können Sie auch eine Tabellenwertfunktion definieren, um einen numerischen Bereich zu generieren.

Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe von SQL-Abfragen eine Zahlenreihe generieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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