Comment Sélectionner un seul et unique enregistrement de la Table à l'aide Distinctes
ma table, avoir plusieurs enregistrements qui a le même MemberID. je veux la suite, un seul enregistrement.
select DISTINCT(MemberID) from AnnualFees;
alors le résultat sera de venir. mais je veux afficher les autres données de la colonne aussi mais quand je fais cette
select DISTINCT(MemberID),StartingDate,ExpiryDate,Amount from AnnualFees;
tous les détails, y compris même MemberID données de l'affichage.
quelqu'un peut m'aider.
- Alors, comment voulez-vous choisir l'un des nombreux AnnualFees lignes pour MemberID=123 doit être affiché? Ou voulez-vous simplement toute une ligne au hasard?
Vous devez vous connecter pour publier un commentaire.
En supposant que vous voulez juste une ligne au hasard pour chaque memberid que vous pouvez le faire:
Si vous voulez une ligne spécifique par memberid, par exemple, l'un avec la plus récente date de début, alors vous pourriez modifier pour:
annualfees
avant de retourner des lignes: il peut renvoyer les lignes qu'il trouve ceux qui satisfont la clause where alors que la solution d'analyse devra lire TOUS les lignes avant de retourner le premier lot. Si vous êtes intéressé dans les premières lignes (et si la table est vraiment très grand), vous trouverez votre requête retourne plus vite. (comme il y a toujours un compromis à trouver)ne sais pas si c'est tout à fait ce que vous avez besoin, mais vous devrez peut-être regarder au niveau du GROUPE PAR la place de DISTINCT...
si vous avez plusieurs enregistrements avec le même id de membre, vous pouvez avoir besoin de spécifier exactement comment identifier celui que vous souhaitez dans les autres
par exemple de demander à chaque membre de la dernière date de début:
mais si vous avez besoin d'identifier un enregistrement dans ce genre de chemin, mais aussi d'afficher les autres colonnes, je pense que vous devrez peut-être faire quelques astuces comme ça...
par exemple de sous-requête ci-dessus SÉLECTIONNEZ-la avec un pour joindre les autres colonnes que vous souhaitez:
du début à la fin, montrant également les données de la table (o/p a été retracée/a attrapé à l'aide de "DÉFINIR le VÉRIFIER SUR")...
Vous devez sélectionner les lignes à double MemberIDs pour revenir, d'une certaine façon. Cela permettra d'obtenir la ligne avec la plus grande startingDate.
select DISTINCT MemberID,StartingDate,ExpiryDate,le Montant de AnnualFees;
supprimer paranthesis