Requête SQL : trouver l'élément avec la fréquence la plus élevée
P粉903969231
P粉903969231 2023-09-12 10:36:13
0
1
517

J'essaie d'écrire une requête SQL pour trouver le mode, c'est-à-dire l'élément qui apparaît plus de fois que les autres éléments. Par exemple :

2,2,1,1---->在这里,输出应该为空(1和2都出现了两次) 3,3,3----->在这里,输出也应该为空(没有第二个元素) 3,3,1----->在这里,输出应该是3。(3的出现次数大于1的出现次数)

Voici les 3 conditions utilisées pour le trouver. Comment puis-je le mettre en œuvre ?

P粉903969231
P粉903969231

répondre à tous (1)
P粉162773626

Vous pouvez compter le nombre de valeurs, trouver les plus fréquentes, et également filtrer en fonction du nombre de valeurs :

select x.* from (select val, count(*) as cnt, row_number() over (order by count(*) desc ) as seqnum, count(*) over () as num_vals count(*) over (partition by count(*)) as cnt_cnt from table group by val ) x where cnt_cnt = 1 and seqnum = 1 and num_vals > 1;

En fait, vous pouvez utiliserhaving子句和order bypour réaliser :

select val from (select val, count(*) as cnt, count(*) over () as num_values from table group by val ) v where num_values > 1 order by cnt desc;
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal
    À propos de nous Clause de non-responsabilité Sitemap
    Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!