source:
trunk/workshop-foss4g/simple_sql_exercises.rst
@
38
Revision 37, 4.0 KB checked in by nbozon, 13 years ago (diff) |
---|
Partie 7 : Exercices simples de SQL
En utilisant la table nyc_census_blocks, répondez au questions suivantes (et n'allez pas directement aux réponses ! ).
Vous trouverez ci-dessous des informations utiles pour commencer. Référez-vous à la partie à propos des nos données <about_data> pour la définition de notre table nyc_census_blocks.
blkid | Un code à 15 chiffres qui définit de maniÚre unique chaque bloc ressencé . Ex: 360050001009000 |
popn_total | Nombre total de personnes dans un bloc ressensé |
popn_white | Nombre de personnes se déclarant "blancs" |
popn_black | Nombre de personnes se déclarant "noirs" |
popn_nativ | Nombre de personnes se déclarant comme "nés aux états-unis" |
popn_asian | Nombre de personne se déclarant comme "asiatiques" |
popn_other | Nombre de personne se déclarant d'une autre catégorie |
hous_total | Nombre de piÚces appartements |
hous_own | Nombre de propriétaires occupant les appartements |
hous_rent | Nombre de locations disponibles |
boroname | Nom du quartier de New York. Manhattan, The Bronx, Brooklyn, Staten Island, Queens |
the_geom | Polygone délimitant le bloc |
Ici se trouvent certaines des fonctions d'aggrégation qui vous seront utiles pour répondre aux questions :
- avg() - la moyenne des vlauers dans un ensemble d'enregistrements
- sum() - la somme des valeurs d'un ensembe d'enregistrements
- count() - le nombre d'élément contenu dans un ensembe d'enregistrements.
Maintenant les questions :
"Quelle est la population de la ville de New York ?"
SELECT Sum(popn_total) AS population FROM nyc_census_blocks;8008278Note
Qu'est-ce que ce AS dans la requête ? vous pouvez donner un nom à une table ou a des colonnes en utilisant un alias. Les alias permettent de rendre les requêtes plus simple à écrire et à lire. Donc au lieu que notre colonne résultat soit nommée sum nous utilisons le AS pour la renommer en population.
"Quelle est la population du Bronx ?"
SELECT Sum(popn_total) AS population FROM nyc_census_blocks WHERE boroname = 'The Bronx';1332650"Quelle est en moyenne le nombre de personne vivant dans chaque appartement de la ville de New York ?"
SELECT Sum(popn_total)/Sum(hous_total) AS popn_per_house FROM nyc_census_blocks;2.6503540522400804"Pour chaque quartier, quel est le pourcentage de population blanche ?"
SELECT boroname, 100 * Sum(popn_white)/Sum(popn_total) AS white_pct FROM nyc_census_blocks GROUP BY boroname;boroname | white_pct ---------------+--------------------- Brooklyn | 41.2005552206888663 The Bronx | 29.8655310846808990 Manhattan | 54.3594013771837665 Queens | 44.0806610271290794 Staten Island | 77.5968611401579346
Liste des fonctions
avg(expression): fonction d'aggrégation de PostgreSQL qui renvoit la moyenne d'un esemble de nombres.
count(expression): une fonction d'aggrégation de PostgreSQL qui retourne le nombre d'éléments dans un esemble.
sum(expression): une fonction d'aggrégation de PostgreSQL qui retourne la somme des valeurs numériques d'un ensemble.