2017-08-18 8 views
1

Soit le nombre d'entrées CITY dans STATION, et soit le nombre de noms CITY distincts dans STATION; interroger la valeur de STATION. En d'autres termes, trouvez la différence entre le nombre total d'entrées CITY dans la table et le nombre d'entrées CITY distinctes dans la table.comment trouver la différence entre les valeurs de colonnes no_of_value et no_of_distinct?

Format d'entrée

Le tableau de la station est décrite comme suit: enter image description here

où LAT_N est la latitude nord et LONG_W est la longitude ouest.

+0

Bienvenue sur Stack Overflow, @Jeyasri .R. Votre table STATION est très simple. Il est préférable de l'inclure en tant que tableau de données (formaté en tant que code) plutôt qu'en tant qu'image. Votre question n'est pas claire. Cela peut être dû à des problèmes grammaticaux. S'il vous plaît examiner: https://stackoverflow.com/help/how-to-ask – Degan

+0

Avez-vous manqué du texte (peut-être quelques noms de variables)? Aussi, pourquoi expliquez-vous la latitude et la longitude, elles ne semblent pas liées à votre question? – mathguy

Répondre

0

Vous pouvez utiliser ayant pour filtrer le resul sur la fonction agrégée

select city, count(*), count(distinct city) 
from station 
group by city 
having count(*) <> count(distinct city) 
0

utilisation distincte de la fonction de comptage.

select count(city) - count(distinct city) 
from station 
0

Si je comprends bien:

select count(city) - count(distinct city) 
from station; 

Vous devez faire cela pour obtenir le nombre de valeurs dupliquées dans la table. Je pourrais être plus intéressé par la liste des villes et le nombre de doublons:

select city, count(*) - 1 as numdups 
from station 
group by city 
having count(*) > 1; 
+0

Merci de sélectionner le comptage (ville) - compte (ville distincte) de la station; cette requête a été exécutée correctement –