Menu
CoddyTech

Fonction NTILE

Fait partie de la section Les fondamentaux du Journey SQL de Coddy. Leçon 67 sur 72.

NTILE(n) numérote les lignes en les répartissant en n parts à peu près égales. Cette fonction est souvent utilisée pour améliorer les performances : envoyer de grandes quantités de données en une seule fois n'est peut-être pas une bonne idée, elle permet donc d'envoyer de plus petites portions à la fois.

Par exemple :

idlevel
14
24
35
46
57
67
SELECT id, level, NTILE(3) OVER (ORDER BY level) as pieces
from table1

Cela renverra :

identifiantniveaupièces
141
241
352
462
573
673

Nous avons obtenu 3 groupes : le niveau 4 dans le groupe 1, les niveaux 5 et 6 dans le groupe 2, et le niveau 7 dans le groupe 3.
Lorsque le nombre de lignes n'est pas divisible par n, NTILE répartit les lignes aussi uniformément que possible, les groupes les plus grands apparaissant en premier. Par exemple, si tu as 9 lignes et NTILE(4), la répartition serait :

  • Groupe 1 : 3 lignes
  • Groupe 2 : 2 lignes
  • Groupe 3 : 2 lignes
  • Groupe 4 : 2 lignes

Cela garantit qu’aucun groupe ne diffère de plus d’une ligne d’un autre groupe et que les lignes supplémentaires sont attribuées en premier aux groupes portant les numéros les plus bas.

challenge icon

Défi

Facile

Tables et colonnes disponibles :

  • creatures: creature_name, preference, has_legs (contient 'YES' ou 'NO')

Dans ce défi, des créatures cherchent leur âme sœur. Nous devons les aider à trouver leur partenaire.

Chaque créature a une préférence représentée par un nombre. Si les nombres de deux créatures sont suffisamment proches, elles pourraient bien s’accorder.

Répartissez les créatures en 3 groupes en fonction de leurs valeurs de préférence, mais ne prenez en compte que celles qui ont des pattes (où has_legs = 'YES'). Renvoyez creature_name, preference et leur group_number (1, 2 ou 3). Triez les résultats par preference dans l’ordre croissant.

Essayez vous-même

quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Les fondamentaux

Entraînez-vous par vous-même : Playground SQL