Accueil > Forum > > > > Comment faire un Count() sans un group by interminable ?
Comment faire un Count() sans un group by interminable ?
vendredi 14 août 2009 à 13:06:06 |
Comment faire un Count() sans un group by interminable ?

olibara
|
Bonjour
Est-il possible en MS SQL de faire un count sur un champ sans etre obligé d'integere tous les champs du select dans le group by
Code :
SELECT
c1,
count(c1),
c2,
c3,
c4,
.... etc
FROM T
GROUP BY c1;Comment peut on faire cela de maniere simple en MS SQL
En MySql c'est élémentaire, en MS Sql il semblerait que ce soit impossible ??
Merci de votre aide
|
|
vendredi 14 août 2009 à 14:26:42 |
Re : Comment faire un Count() sans un group by interminable ?

nivsql
|
Tu es sur que c'est possible en MySQL ? c'est en dehors de toute logique et de toute cohérance. Ou alors c'est que Mysql ajoute implicitement tous les champs non aggrégé dans la clause group by.
SQL Server etant tres proche de la norme (contrairement a MySQL qui prend un peu trop de libertées a mon gout) il ne peut en aucun cas accepter de genre d'ecriture totalement incohérante et abérante.
|
|
vendredi 14 août 2009 à 15:11:35 |
Re : Comment faire un Count() sans un group by interminable ?

olibara
|
Salut
Je suis certain que c'est possible en MySql et c'est en plus TRES pratique
Exemple simple
SELECT
count(addrid),
ritstat.`date`,
ritstat.addrID
FROM
ritstat
group by (addrid)
J'ai le count des dates sur une adresse
SELECT
count(date),
ritstat.`date`,
ritstat.addrID
FROM
ritstat
group by (date)
J'ai le count des adresses sur une date
|
|
vendredi 14 août 2009 à 15:33:35 |
Re : Comment faire un Count() sans un group by interminable ?

nivsql
|
Ces synthaxe d'un point de vue Relationnel et SQL sont aberrantes.
Je vais installer un mysql pour voir ce que ca peut donner comme resultat mais du point de vu de la norme SQL et du modele relationnel sur lequel ce moteur est sensé etre construit cela n'a aucun sens.
|
|
vendredi 14 août 2009 à 16:01:15 |
Re : Comment faire un Count() sans un group by interminable ?

olibara
|
Sincérement
MySql a peut etre des défaut mais il a beaucoup de qualité aussi !
Et permettre ce genre de syntaxe quand on sait ce que l'on veut faire c'est franchement tres pratique !!
Et c'est souvent en voulant mettre trop de barrieres pour se proteger qu'on finit par se retrouver coincé dans un monde clos !
|
|
vendredi 14 août 2009 à 16:45:34 |
Re : Comment faire un Count() sans un group by interminable ?

nivsql
|
Je viens de faire un test apres installation de MySQL sur mon serveur de test.
J'ai créé une table du meme nom que la tienne avec 2 colonnes des noms que tu donnes, la premiere de type integer, l'autre de type datetime.
J'ai ensuite inseré tout un jeu de donnée en prenant soin de doublonner (j'ai 2 fois la ligne (1, '2007-01-01') par exemple.
J'ai ensuite executer tes requetes : Les resultats sont tout simplement INCOHERANTS ! pour ma ligne doublonnée j'ai un count a 4 !!!!!!!!!!
et de fait, j'ai bien 4 fois la date '2007-01-01' dans ma table mais en AUCUN CAS les addrID ne sont identiques,
Le retour de la requete avec count, date, addrID avec la valeur (4, '2007-01-01', 1) n'a donc strictement aucun SENS !
Non seulement la synthaxe est aberrante mais les resultats sont FAUX ! il n'y a pas dans ma table 4 fois la date '2007-01-01' pour l'addrID 1.
Voila ou mene ce genre de synthaxe permissive. J'espere sincerement que cette synthaxe n'est pas utiliser dans des logiciels comptables ou les utilisateurs de ces logiciels vont rapidement se retrouver en prison pour fraude fiscale ou detournement de fonds ou que sais je.
|
|
vendredi 14 août 2009 à 16:46:36 |
Re : Comment faire un Count() sans un group by interminable ?

nivsql
|
C'est peut etre pour ce genre de chose que le monde des SGBDR est clos justement. C'est justement ca qui garantie la cohérance des données.
|
|
vendredi 14 août 2009 à 17:01:07 |
Re : Comment faire un Count() sans un group by interminable ?

olibara
|
Tu as raison !
Mais j'avais dis
Et permettre ce genre de syntaxe quand on sait ce que l'on veut faire c'est franchement tres pratique !!
Dans mon cas, par construction je ne peux pas avoir de doublons Date+Adresses
|
|
vendredi 14 août 2009 à 17:05:08 |
Re : Comment faire un Count() sans un group by interminable ?

nivsql
|
Meme si je retire le doublon, j'obtiendrais alors une reponse de (3, 2007-01-01, 1) ce qui doit signifier que dans ma table j'ai 3 fois la ligne (2007-01-01 , 1) ce qui est tout aussi FAUX puisque je ne l'aurais plus qu'une seule fois ! La requete reste FAUSSE puisqu'elle créer de l'information FAUSSE !
|
|
vendredi 14 août 2009 à 18:46:56 |
Re : Comment faire un Count() sans un group by interminable ?

olibara
|
Mais non !
Ca signifie que tu a 3 records pour lesquels la date est 2007-01-01 peut importe l'addrID
|
|
Cette discussion est classée dans : count, ms, sql, group, by
Répondre à ce message
Sujets en rapport avec ce message
requete avec having et group by [ par mossie ]
Mossie Bonjour, Je suis en train de finir la facturation pour une application web (php/mysql). Il me faut une facture avec detail (ca marche!) et sans
Pb avg / group by [ par DMK04 ]
Bonjour à tous,J'ai cette requête qui marche très bien (elle me retourne des entiers) :SELECT DATEDIFF( MAX( date_livraison ) , date_creation ) AS del
Trouver la moyenne minimum dans un Group By [ par petitemainate ]
Bonjour à tous,Voici l'intitulé de la question ^_^ "Afficher le job ayant le salaire le plus bas"J'ai donc une requête de ce genreSELECT Job, avg(Sala
SQL SERVER 2008 : Durée exécution de requête variable avec les commandes STATISTICS [ par zinzineti ]
Bonjour tout le monde ! Je suis sur un serveur local SQL SERVER 2008. je constate que la durée d'exécution d'une même requête varie à chaque exécution
J'ai pas pu me connecter sur MS SQL SERVER ENTREPRISE 2005 [ par biboobib ]
salut tout le monde, Je Suis débutant avec le software SQL SERVER 2005, après avoir l installer, il ma demander de entrer le nom du serveur, j ai essa
migration de My SQL vers Ms SQL 2005 [ par bayoiaime ]
Bonjour à tous ! je suis debutant sur le SGBD Mysql mais on m'a demandé de migrer la base qui fonctionne bien sur mysql vers Mssql 2005. Ainsi
CSV SQL [ par aymen8219 ]
bonjour, mon probleme c'est lorsque je fait l'import d'un fichier csv vers mysql j'ai un probleme dans les chiffes négative et les chiffre avec virgu
Probleme de GROUP BY [ par etu54 ]
Bonjour et merci de prendre ces quelques minutes pour lire le post, Je débute dans le Access et j'ai un probleme qui me fait perdre la tete Voila j'a
Problème requète avec Group By [ par xxLoloxx ]
Bonsoir, Je suis actuellement bloqué sur une requête que je vous ai simplifié pour les besoins de compréhension. En oracle, il est impossible d'effec
Group By ? [ par mondrone ]
Bonjour, comme précisé par la rubrique choisie, ma question est à propos du fonctionnement de MySQL disons.Voila :en gros et pour faire simple, j'ai d
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|