Skip to content

Instantly share code, notes, and snippets.

@alexlucas83
Created May 28, 2019 11:03
Show Gist options
  • Save alexlucas83/b1f7adac5641fb435c3d9f505e87031e to your computer and use it in GitHub Desktop.
Save alexlucas83/b1f7adac5641fb435c3d9f505e87031e to your computer and use it in GitHub Desktop.
1.Retourne le nom des équipes et le nombre de joueurs par équipe, le tout classé par nombre de joueurs par équipe, de la plus nombreuse à la moins nombreuse.
select t.name, count(*) as nb_student from player p join team t on t.id=p.team_id group by t.name order by nb_student desc;
+------------+------------+
| name | nb_student |
+------------+------------+
| Gryffindor | 36 |
| Slytherin | 21 |
| Ravenclaw | 15 |
| Hufflepuff | 12 |
+------------+------------+
4 rows in set (0,00 sec)
////////////////////////////////////////////////////////////////////////////////////////////////
2.Retourne uniquement les noms des équipes complètes (ayant 14 joueurs ou plus, c’est-à- dire 7 joueurs et 7 remplaçants minimum), classés par ordre alphabétique.
select t.name from team t join player p on t.id=p.team_id group by t.name having count(p.id)>13 order by count(p.id) desc;
+------------+
| name |
+------------+
| Gryffindor |
| Slytherin |
| Ravenclaw |
+------------+
3 rows in set (0,00 sec)
////////////////////////////////////////////////////////////////////////////////////////////////
3.L’entraîneur des Gryffondor est superstitieux, son jour préféré est le lundi. Retourne la liste des joueurs de son équipe qui ont été enrôlés un lundi (il souhaite les faire jouer en priorité), et classe les résultats par date d’enrôlement chronologique.
SELECT w.firstname, enrollment_date, t.name, DATE_FORMAT(enrollment_date, "%w") enrollment
FROM wizard w
JOIN player p ON p.wizard_id=w.id
JOIN team t ON t.id=p.team_id
WHERE t.name = 'Gryffindor'
HAVING enrollment = 1
ORDER BY enrollment_date
;
+-----------+-----------------+------------+------------+
| firstname | enrollment_date | name | enrollment |
+-----------+-----------------+------------+------------+
| George | 1991-08-26 | Gryffindor | 1 |
| Alice | 1992-02-17 | Gryffindor | 1 |
| Cadogan | 1993-01-04 | Gryffindor | 1 |
| Godric | 1993-08-30 | Gryffindor | 1 |
| Sirius | 1994-01-10 | Gryffindor | 1 |
| Aberforth | 1995-04-24 | Gryffindor | 1 |
| Augusta | 1999-10-25 | Gryffindor | 1 |
+-----------+-----------------+------------+------------+
7 rows in set (0,01 sec)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment