Premièrement, s'il est pertinent, j'utilise MySQL, bien que je suppose qu'une solution fonctionnerait à travers les produits DB. Mon problème est donc:
J'ai une table simple avec une seule colonne. Il n'y a pas de contraintes sur la colonne. Dans cette colonne, il existe des données simples, par exemple p> J'ai besoin d'obtenir le numéro / le nombre de valeurs qui n'apparaissent qu'une seule fois. De l'exemple ci-dessus serait 2 (comme seulement B et C se produisent une fois dans la colonne). P> Espérons que c'est clair, je ne veux pas de valeurs distinctes, mais des valeurs uniques. J'ai déjà fait cela auparavant, en créant une table supplémentaire avec une contrainte unique sur la colonne et en insérant simplement sur la nouvelle table de l'ancienne, en manipulant les duplicats en conséquence. P> J'espérais trouver une solution Cela n'a pas besoin de la table temporaire et pourrait simplement être accompli avec une sélection NIFTY. P> P>
6 Réponses :
select field1, count(field1) from my_table group by field1 having count(field1) = 1 select count(*) from (select field1, count(field1) from my_table group by field1 having count(field1) = 1) first one will return the ones that are unique and second one will return the number of unique elements.
select count(*) from ( select col1, count(*) from Table group by Col1 Having Count(Col1) = 1 )
Je pense que ma nouvelle version est la plupart des plateformes indépendantes
pourrait-il être aussi simple que ceci:
Vous donne la liste des valeurs "particulièrement représentées", mais pas le nombre de valeurs de ladite valeurs (vous devez examiner la quantité d'enregistrements renvoyés). Bonne Esprit Globalement, mais manque le nombre de niveau supérieur requis pour répondre à la question :)
@Romain Oh Sûr ... Techniques! Seulement un de la part du groupe avec aucun upvote. C'est comme la salle de gym du collège encore une fois.
Je vois ce que tu veux dire ... Par conséquent, j'étais tout sur souligner que votre réponse était réellement bonne ... et j'aurais voté s'il avait complètement répondu à la question ...
supposer que votre table est appelée t code> et votre champ s'appelle
f code>:
Pour mon argent - c'est la meilleure réponse.
Comment puis-je utiliser où, dans cette I.E "où (créé_at entre" 2021-06-01 'et "2021-06-01 23:59:59');" .. Coz amarrez cette erreur. "Colonne inconnue créée_at"
Il suffit de nier un peu ...
Je pense que l'affiche n'a pas vraiment mis sa question à droite. Cette réponse traite d'une interprétation différente de celui de tous les autres.
@Hugh - je suis en désaccord. Cela me semble très sans ambiguïté "Je dois obtenir le nombre / le nombre de valeurs qui n'apparaissent qu'une seule fois. De l'exemple ci-dessus, ce serait 2" Votre réponse est tout simplement fausse. Cela revient la même chose que les Romains (bien qu'il manque l'alias de la table dérivée)
Oui, je relisons la question et il n'est pas ambigu, cependant, je ne veux pas que je ne veux pas de valeurs distinctes, je veux que les uniques m'ont envoyé une mauvaise manière.
C'est ce que j'ai fait et cela a fonctionné: Remarque: je travaillais avec plusieurs tables ici. P> problème de problèmes CS50 7 (pset7) 9.SQL Correction !! p> p>
Lol à la trois réponse similaire simultanément postée.
À ce stade et après avoir réaménagé la question, je pense réellement que Randy ou Romain prend le prix, mais vous avez eu des formatage plus jolis que moi @hugh Jones: D
Je l'ai fait :) Nous ne saurons jamais le vrai sens de cette question - passons à ...