Bonjour,
Petite question SVP:
Dans une requete SUM quelle est la limite du nombre de champs dans le GROUP BY ?
Merci
Bonjour,
Petite question SVP:
Dans une requete SUM quelle est la limite du nombre de champs dans le GROUP BY ?
Merci
Si quelqu'un t'a offensé, ne cherche pas à te venger; assieds-toi au bord de la rivière et, bientôt, tu verras passer son cadavre.
Lao Tseu - un sage chinois
Celui qui lutte contre les monstres doit veiller à ne pas le devenir lui-même.
Et quand ton regard pénètre longtemps au fond d'un abîme, l'abîme, lui aussi, pénètre en toi.
Friedrich Nietzsche - Par délà le bien et le mal
Bonjour,
A vue de nez je dirais la même que celle du nombre de colonnes dans le select, moins celles qui sont agrégées.
Le mieux est de consulter la documentation du SGBD concerné, non précisé ici.
Tatayo.
La réponse est zéro puisqu'il n'y a pas de champ dans une requête, mais des colonnes
Pas de limitation au sujet du nombre de colonnes, elles doivent juste être en cohérence avec la clause SELECT sauf si vous utilisez MySQL très laxiste sur ce sujet.
Désolé de ne pas l'avoir précisé j'utilise Firebird 3
Oui je voulais dire colonnes au lieu de champs
Une soixantaine de colonnes dans le select et le group by dans une vue es-ce que ce n'est pas bourrin ?
Merci
Si quelqu'un t'a offensé, ne cherche pas à te venger; assieds-toi au bord de la rivière et, bientôt, tu verras passer son cadavre.
Lao Tseu - un sage chinois
Celui qui lutte contre les monstres doit veiller à ne pas le devenir lui-même.
Et quand ton regard pénètre longtemps au fond d'un abîme, l'abîme, lui aussi, pénètre en toi.
Friedrich Nietzsche - Par délà le bien et le mal
Il y a peut-être des optimisations possibles mais pour proposer quelque chose il nous faut la description des tables
Il y a une douzaine de tables avec jointure dans la vue, quelques unes contient 20 à 25 je crois que ca fait beaucoup de les postés et en plus avec le DDL de la vue ? Es-ce que le plan de requete suffit ? Mais, dans le principe, je ne risque pas d'avoir des résultats incorrects avec le group by pour ce nombre de colonnes et de tables, es-ce que ce n'est pas trop ? Je veux dire es-ce que c'est fait pour ?
Merci.
Plan de la requete
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 PLAN SORT (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (VW_COMMANDE_FOUR CF NATURAL, VW_COMMANDE_FOUR CL INDEX (COMMANDE_ID_LIGNE)), VW_COMMANDE_FOUR FO INDEX (PK_FOURNISSEUR)), VW_COMMANDE_FOUR OD INDEX (PK_ORDRE_ACHAT)), VW_COMMANDE_FOUR FF INDEX (PK_FACTURE_FOURNISSEUR)), VW_COMMANDE_FOUR EM INDEX (EMPLOYE_PRIMARY)), JOIN (JOIN (VW_COMMANDE_FOUR AD A INDEX (ADRESSE_ADR_ID), VW_COMMANDE_FOUR AD W INDEX (WI_PRIMARY)), VW_COMMANDE_FOUR AD P INDEX (PAYS_PRIMARY))), VW_COMMANDE_FOUR U INDEX (PK_UNITE)), VW_COMMANDE_FOUR P INDEX (PK_PROJET)), VW_COMMANDE_FOUR D INDEX (IDX_DEPOT_ID)), VW_COMMANDE_FOUR C INDEX (PK_CONTRAT)))
Si quelqu'un t'a offensé, ne cherche pas à te venger; assieds-toi au bord de la rivière et, bientôt, tu verras passer son cadavre.
Lao Tseu - un sage chinois
Celui qui lutte contre les monstres doit veiller à ne pas le devenir lui-même.
Et quand ton regard pénètre longtemps au fond d'un abîme, l'abîme, lui aussi, pénètre en toi.
Friedrich Nietzsche - Par délà le bien et le mal
Bonsoir freud
Non désolé, c'est inexploitable sans la description des tables et la requête.
Ce qu'il faut éviter et qu'on rencontre parfois, c'est de calculer les agrégats côté n dans une jointure 1,n si les éléments de calcul sont tous coté 1.
Merci escartefigue
Si quelqu'un t'a offensé, ne cherche pas à te venger; assieds-toi au bord de la rivière et, bientôt, tu verras passer son cadavre.
Lao Tseu - un sage chinois
Celui qui lutte contre les monstres doit veiller à ne pas le devenir lui-même.
Et quand ton regard pénètre longtemps au fond d'un abîme, l'abîme, lui aussi, pénètre en toi.
Friedrich Nietzsche - Par délà le bien et le mal
Cette limite est fonction du SGBDR utilisé, par exemple dans SQL Server la limite est de 8060 octets de données quelques soit le nombre de colonne. Donc pour le type booléen représenté par un bit, le nombre de colonne serait de 64 480...
Mais un grand nombre de colonne dans le GROUP BY dénote souvent une mauvaise modélisation ou l'écriture de requêtes hautement stupides !
A +
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
Tout a fait et merciEnvoyé par SQLpro
Si quelqu'un t'a offensé, ne cherche pas à te venger; assieds-toi au bord de la rivière et, bientôt, tu verras passer son cadavre.
Lao Tseu - un sage chinois
Celui qui lutte contre les monstres doit veiller à ne pas le devenir lui-même.
Et quand ton regard pénètre longtemps au fond d'un abîme, l'abîme, lui aussi, pénètre en toi.
Friedrich Nietzsche - Par délà le bien et le mal
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager