MySQL dispose d'une fonction Interval (rien à voir avec des expressions
de dates), qui permet de placer une valeur par rapport à une série de
bornes. Par exemple, on définit quatre classes d'âges bornées par 8, 18,
25 et 65 ans, une personne de 33 ans est dans la classe 3 :
Interval(33, 0, 18, 25, 65)
Cette fonction fait-elle partie du standard SQL, ou est-ce une extension ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Antoun
merci Fred !
Tu sais s'il y a des SGBD qui ont implémenté WIDTH_BUCKET ?
Fred Brouard - SQLpro wrote:
Non, cecei n'est pas standard. En revanche la fonction standard pour ce faire est WIDTH_BUCKET... (extrait de mon livre SQL - collection Synthex, co écrit avec C Soutou) :
WIDTH_BUCKET (e, m, M, p) permet de définir une distribution des valeurs de l'expression e entre m et M avec un écart p.
On veut répartir les employés suivant la colonne CLI_LIMITE_CREDIT La requête suivante définit 10 plages de valeur (GROUPE_CREDIT) entre les chiffres 600 et 4000 (soit 10 plages de 340 unités) La première ira de 600 à 940 (non inclus), la seconde de 940 à 1280 (non inclus), etc. Si le chiffre est inférieur à la borne minimale, la plage est valuée à zéro, s'il est supérieur à la borne maximale, la plage est automatiquement calculée.
SELECT CLI_ID, CLI_NOM, CLI_LIMITE_CREDIT, WIDTH_BUCKET(CLI_LIMITE_CREDIT, 600, 4000, 10) AS GROUPE_CREDIT FROM T_CLIENT_CLI ORDER BY CLI_LIMITE_CREDIT,GROUPE_CREDIT
MySQL dispose d'une fonction Interval (rien à voir avec des expressions de dates), qui permet de placer une valeur par rapport à une série de bornes. Par exemple, on définit quatre classes d'âges bornées par 8, 18, 25 et 65 ans, une personne de 33 ans est dans la classe 3 :
Interval(33, 0, 18, 25, 65)
Cette fonction fait-elle partie du standard SQL, ou est-ce une extension ?
Merci d'avance !
Antoun
merci Fred !
Tu sais s'il y a des SGBD qui ont implémenté WIDTH_BUCKET ?
Fred Brouard - SQLpro wrote:
Non, cecei n'est pas standard.
En revanche la fonction standard pour ce faire est WIDTH_BUCKET...
(extrait de mon livre SQL - collection Synthex, co écrit avec C Soutou) :
WIDTH_BUCKET (e, m, M, p)
permet de définir une distribution des valeurs de l'expression e
entre m et M avec un écart p.
On veut répartir les employés suivant la colonne CLI_LIMITE_CREDIT
La requête suivante définit 10 plages de valeur (GROUPE_CREDIT) entre
les chiffres 600 et 4000 (soit 10 plages de 340 unités)
La première ira de 600 à 940 (non inclus), la seconde de 940 à 1280 (non
inclus), etc.
Si le chiffre est inférieur à la borne minimale, la plage est valuée à
zéro, s'il est supérieur
à la borne maximale, la plage est automatiquement calculée.
SELECT CLI_ID, CLI_NOM, CLI_LIMITE_CREDIT,
WIDTH_BUCKET(CLI_LIMITE_CREDIT, 600, 4000, 10) AS GROUPE_CREDIT
FROM T_CLIENT_CLI
ORDER BY CLI_LIMITE_CREDIT,GROUPE_CREDIT
MySQL dispose d'une fonction Interval (rien à voir avec des
expressions de dates), qui permet de placer une valeur par rapport à
une série de bornes. Par exemple, on définit quatre classes d'âges
bornées par 8, 18, 25 et 65 ans, une personne de 33 ans est dans la
classe 3 :
Interval(33, 0, 18, 25, 65)
Cette fonction fait-elle partie du standard SQL, ou est-ce une
extension ?
Tu sais s'il y a des SGBD qui ont implémenté WIDTH_BUCKET ?
Fred Brouard - SQLpro wrote:
Non, cecei n'est pas standard. En revanche la fonction standard pour ce faire est WIDTH_BUCKET... (extrait de mon livre SQL - collection Synthex, co écrit avec C Soutou) :
WIDTH_BUCKET (e, m, M, p) permet de définir une distribution des valeurs de l'expression e entre m et M avec un écart p.
On veut répartir les employés suivant la colonne CLI_LIMITE_CREDIT La requête suivante définit 10 plages de valeur (GROUPE_CREDIT) entre les chiffres 600 et 4000 (soit 10 plages de 340 unités) La première ira de 600 à 940 (non inclus), la seconde de 940 à 1280 (non inclus), etc. Si le chiffre est inférieur à la borne minimale, la plage est valuée à zéro, s'il est supérieur à la borne maximale, la plage est automatiquement calculée.
SELECT CLI_ID, CLI_NOM, CLI_LIMITE_CREDIT, WIDTH_BUCKET(CLI_LIMITE_CREDIT, 600, 4000, 10) AS GROUPE_CREDIT FROM T_CLIENT_CLI ORDER BY CLI_LIMITE_CREDIT,GROUPE_CREDIT
MySQL dispose d'une fonction Interval (rien à voir avec des expressions de dates), qui permet de placer une valeur par rapport à une série de bornes. Par exemple, on définit quatre classes d'âges bornées par 8, 18, 25 et 65 ans, une personne de 33 ans est dans la classe 3 :
Interval(33, 0, 18, 25, 65)
Cette fonction fait-elle partie du standard SQL, ou est-ce une extension ?