Permutation et combinaison SQL




1. Aperçu des permutations et des combinaisons


La permutation et la combinaison sont des méthodes d'organisation des données couramment utilisées pour les données discrètes. Cette section présentera respectivement les méthodes d'implémentation SQL de permutation et de combinaison, et se concentrera sur le traitement des données par combinaison avec des exemples.

Comment utiliser SQL pour implémenter des permutations et des combinaisons ? Cette section résumera les solutions générales en introduisant des scénarios statistiques de comparaison de groupe.

Cet article tente de trouver une approche unique, en soulignant que grâce à une réflexion flexible et divergente sur le traitement des données, des scénarios de données complexes peuvent être résolus en utilisant la syntaxe la plus élémentaire. Les instructions SQL impliquées dans l'article utilisent la syntaxe de base et certaines fonctionnalités de syntaxe avancées de Hive SQL.

Les fonctions associées font référence à MaxCompute :https://help.aliyun.com/zh/maxcompute/user-guide/overview/?spm=a2c4g.11186623.0.0.738048b99fbTqb< / un>

2. Permutation et combinaison SQL

2.1. Disposition


La définition de l'arrangement : à partir de n éléments différents, tous les éléments m (m<=n, m et n sont tous deux des nombres naturels) sont disposés dans une colonne dans un certain ordre, appelé retrait de n différents éléments Une permutation de m éléments ; le nombre de toutes les permutations dans lesquelles m éléments sont pris parmi n éléments différents est appelé le nombre de permutations dans lesquelles m éléments sont pris parmi n éléments différents, avec le symbole A n m A_n^m UNnmexprimer

Insérer la description de l'image ici

Par exemple, pour la séquence de caractères['A', 'B', 'C'], 2 caractères peuvent être sélectionnés à plusieurs reprises dans la séquence à chaque fois. Comment obtenir toutes les permutations ?

L'implémentation SQL de l'arrangement est la suivante :

select 
    val1, val2, concat(val1, val2) as perm
from (select array('A', 'B', 'C') 

Je suppose que tu aimes

Origine blog.csdn.net/weixin_55629186/article/details/135000998
conseillé
Classement