Le choix le plus commun de la valeur de la relation à l'instruction SQL
J'ai une table dans ma base de données qui a beaucoup de dossiers, certains dossiers qui partagent la même valeur pour l'une des colonnes. par exemple,
| id | name | software |
______________________________
| 1 | john | photoshop |
| 2 | paul | photoshop |
| 3 | gary | textmate |
| 4 | ade | fireworks |
| 5 | fred | textmate |
| 6 | bob | photoshop |
J'aimerais revenir à la valeur la plus fréquente et touche un morceau de logiciel, à l'aide d'une instruction SQL.
Ainsi dans l'exemple au-dessus de la déclaration SQL serait le retour "photoshop", comme il se produit plus que n'importe quel autre logiciel.
Est-ce possible?
Je vous remercie pour votre temps.
la version de base de données utilisez-vous? MySQL? Oracle ?
Désolé, je suis de l'utilisation de MySQL.
double possible de Obtenir plus de valeur commune dans SQL
Désolé, je suis de l'utilisation de MySQL.
double possible de Obtenir plus de valeur commune dans SQL
OriginalL'auteur Ronnie | 2010-04-05
Vous devez vous connecter pour publier un commentaire.
il retourne à partir du haut de ses matchs à partir de la requête, qui dans ce cas sont décroissant, le nombre de dossiers
Donc, cette déclaration permettra de commander tous les enregistrements dans des groupes en commençant par le groupe de la plupart des logiciels courants et de la descente. Mais le "top 1' sélectionne la valeur du premier groupe?
+1 Pour MySQL, supprimer
top 1
, et ajouterlimit 1
à la fin, derrière leorder by
Il ne fonctionne qu'avec MSSQL.
OriginalL'auteur Carl Manaster
Cela dépend si vous souhaitez utiliser le SQL standard ou spécifique au vendeur extensions (une autre affiche a un "top N" requête qui est pas standard). Une solution standard serait.
Remarque: cela peut retourner plusieurs lignes si plusieurs logiciels sont à égalité pour la plupart des occurrences.
OriginalL'auteur cletus
Vous pouvez le faire de plusieurs façons, mais le plus simple serait ce
ROWNUM
.OriginalL'auteur Arush Kamboj