2017-10-11 10 views
-2

Mes colonnes sont Année et AthleteID. Chaque fois que quelqu'un enregistre ils gardent la même AthleteID, donc une requête qui renvoie tous les membres de toutes les années ressemblerait le ci-dessous:Je veux savoir combien de nouveaux membres j'ai utilisé MySQL pour l'année d'enregistrement 2017

|AthleteID | Year| 
| 1234  | 2016| 
| 1234  | 2017| 
| 3243  | 2016| 
| 0134  | 2015| 
| 4567  | 2017| 
| 5678  | 2017| 
| 1234  | 2017| 

Je veux revenir tout nouveau membre en 2017 ainsi dans l'exemple ci-dessus reviendrait seulement ci-dessous:

|AthleteID|| Year| 
| 4567  | 2017| 
| 5678  | 2017| 
+1

Qu'avez-vous essayé? Montrez votre tentative. Si cela ne fonctionne pas, nous pouvons essayer d'aider. – Eric

+0

et voir [Pourquoi devrais-je fournir un MCVE pour ce qui me semble être une requête SQL très simple] (http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve- pour-ce-qui-me-semble-à-être-une-requête-très-simple-SQL) – Strawberry

+0

En outre, vous avez une entrée en double, ce qui soulève la question: quelle est votre clé PRIMARY?!?!?! – Strawberry

Répondre

1

une façon de le faire est d'obtenir l'année minimum pour chaque athlète, puis filtrer les nouveaux utilisateurs avec une clause HAVING.

comme ceci:

SELECT AthleteID, 
     min(YEAR) 
FROM your_table 
GROUP BY AthleteID 
HAVING min(YEAR) = 2017 
+0

Merci. Cela a fonctionné pour moi! – sjw0525