Advertisement
Guest User

Untitled

a guest
Jul 16th, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.98 KB | None | 0 0
  1. -- Retourne le nom des équipes et le nombre de joueurs par équipe,
  2. -- le tout classé par nombre de joueurs par équipe, de la plus nombreuse
  3. -- à la moins nombreuse
  4.  
  5. SELECT t.name, count(p.wizard_id) as nb_players
  6. FROM team t
  7. LEFT JOIN player p ON p.team_id = t.id
  8. GROUP BY t.id
  9. ORDER BY nb_players DESC
  10.  
  11. +------------+------------+
  12. | name | nb_players |
  13. +------------+------------+
  14. | Gryffindor | 36 |
  15. | Slytherin | 21 |
  16. | Ravenclaw | 15 |
  17. | Hufflepuff | 12 |
  18. +------------+------------+
  19. 4 rows in set (0.00 sec)
  20.  
  21. -- Retourne uniquement les noms des équipes complètes
  22. -- (ayant 14 joueurs ou plus, c’est-à- dire 7 joueurs et 7 remplaçants minimum)
  23. -- classés par ordre alphabétique
  24.  
  25. SELECT t.name
  26. FROM team t
  27. LEFT JOIN player p ON p.team_id = t.id
  28. GROUP BY t.id
  29. HAVING count(p.wizard_id) >= 14
  30. ORDER BY t.name
  31.  
  32. +------------+
  33. | name |
  34. +------------+
  35. | Gryffindor |
  36. | Ravenclaw |
  37. | Slytherin |
  38. +------------+
  39. 3 rows in set (0.00 sec)
  40.  
  41. -- L’entraîneur des Gryffondor est superstitieux, son jour préféré est le lundi.
  42. -- Retourne la liste des joueurs de son équipe qui ont été enrôlés un lundi
  43. -- (il souhaite les faire jouer en priorité), et classe les résultats par date d’enrôlement chronologique.
  44. SELECT p.enrollment_date, w.firstname, w.lastname
  45. FROM team t
  46. INNER JOIN player p ON p.team_id = t.id AND DAYOFWEEK(p.enrollment_date) = 2
  47. INNER JOIN wizard w ON p.wizard_id = w.id
  48. WHERE t.name = 'Gryffindor'
  49. ORDER BY p.enrollment_date
  50.  
  51. +-----------------+-----------+------------+
  52. | enrollment_date | firstname | lastname |
  53. +-----------------+-----------+------------+
  54. | 1991-08-26 | George | Weasley |
  55. | 1992-02-17 | Alice | Longbottom |
  56. | 1993-01-04 | Cadogan | |
  57. | 1993-08-30 | Godric | Gryffindor |
  58. | 1994-01-10 | Sirius | Black |
  59. | 1995-04-24 | Aberforth | Dumbledore |
  60. | 1999-10-25 | Augusta | Longbottom |
  61. +-----------------+-----------+------------+
  62. 7 rows in set (0.00 sec)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement