8
votes

Comment peut-on compter sur la longueur unique d'une chaîne dans les lignes de base de données?

J'utilise Oracle et j'ai une table avec 1000 rangées. Il y a un champ de nom de famille et

Je veux connaître les longueurs du champ Nom, mais je ne le veux pas pour chaque rangée. Je veux un nombre de différentes longueurs. P>

Exemple: P>

Nom: P>

Select count(*) as total, lastname from myNames group by total


1 commentaires

Êtes-vous sûr de ne pas vouloir les différentes longueurs et leur compte, comme 7 | 4 5 | 2 ?


3 Réponses :


9
votes
SELECT Length(lastname)
FROM MyTable
GROUP BY Length(lastname)

3 commentaires

Je pense qu'il veut que le nombre de noms de famille ayant la même longueur, donc peut-être ajouter un champ compteur (*) à la requête.


Cela n'a pas fonctionné (mais merci de vous remercier.) Il ne me jette que 1000 pour le comte, puis une longueur, une rangée à une seule rangée. Je sais que j'ai toutes sortes de longueurs là-bas.


soupir. bête-moi. Je devais utiliser la garniture autour d'elle ou j'ai récupéré tous les enregistrements de la même manière.



6
votes
select distinct(LENGTH(lastname)) from mynames;

1 commentaires

Cela n'a renvoyé qu'une ligne. Peut-être que j'ai besoin de vérifier mes données à nouveau.



2
votes
Select count(*), Length(column_name) from table_name group by Length(column_name);
This will work for the different lengths in a single column.

1 commentaires

réponse parfaite.