Maison >base de données >tutoriel mysql >Comment puis-je répliquer les lignes de résultats SQL et attribuer des numéros de ligne uniques ?

Comment puis-je répliquer les lignes de résultats SQL et attribuer des numéros de ligne uniques ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-06 14:37:40214parcourir

How Can I Replicate SQL Result Rows and Assign Unique Row Numbers?

Réplication des lignes de résultats et attribution de numéros de ligne en SQL

Le but de cette question est de modifier une requête SQL existante pour générer des lignes supplémentaires pour entrées avec un nombre supérieur à 1. Chaque ligne répliquée doit se voir attribuer un numéro d'index unique. Cette amélioration vise à fournir une représentation plus détaillée des données, permettant une analyse et une interprétation plus faciles.

Solution de bases de données croisées utilisant une table de nombres

Pour obtenir ce résultat sur plusieurs bases de données, on peut utiliser une table "Nombres". Cette table contient une colonne à incrémentation automatique qui fonctionne comme numéro d'index. En joignant la table d'origine à la table Numbers en utilisant une condition selon laquelle le nombre de la table d'origine est supérieur ou égal au nombre de la table Numbers, nous pouvons répliquer les lignes en fonction de la valeur du nombre.

La requête suivante le démontre approche :

SELECT value, count, number
FROM table
JOIN Numbers
ON table.count >= Numbers.number

Cette requête devrait fonctionner efficacement dans Oracle, SQL Server, MySQL et PostgreSQL, ainsi que dans les bases de données prenant en charge les expressions de table courantes (CTE).

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!

Déclaration:
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