Maison > base de données > tutoriel mysql > Comment puis-je générer une série de nombres à l'aide de requêtes SQL ?

Comment puis-je générer une série de nombres à l'aide de requêtes SQL ?

Patricia Arquette
Libérer: 2025-01-20 03:11:09
original
495 Les gens l'ont consulté

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

Utilisez une requête SQL pour générer une séquence de numéros

Lorsqu'il s'agit de données numériques, il est souvent nécessaire de générer une plage de nombres comprise entre deux valeurs spécifiques. SQL facilite cela en vous permettant de spécifier explicitement une plage de nombres ou d'utiliser une sous-requête.

Une solution consiste à utiliser le mot-clé VALUES pour créer une série de valeurs non persistantes. En utilisant des jointures croisées pour joindre ces valeurs, un grand nombre de combinaisons peuvent être générées. Cette méthode est simple et efficace.

Par exemple, si vous avez deux nombres d'entrée, disons 1000 et 1050, vous pouvez générer la séquence entière à l'aide de la requête suivante :

<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>
Copier après la connexion

Cette requête générera une séquence de nombres de 1000 à 1050, chaque nombre occupant une ligne. Vous pouvez également créer une version plus détaillée de votre requête :

<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>
Copier après la connexion

Les deux requêtes peuvent être étendues à une plage de nombres spécifique en ajoutant une clause WHERE. Pour améliorer la réutilisabilité, vous pouvez également définir une fonction table pour générer une plage numérique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal