# 1. Quelle est la structure de la table titanic ? DESCRIBE titanic ; # 2. Combien y avait-il de personnes (enregistrements) ? SELECT COUNT(*) FROM titanic ; # 3. Combien de personnes ont survécu ? SELECT COUNT(*) FROM titanic WHERE surv=1 ; # 4. En pourcentage, cela fait combien ? SELECT 100*COUNT(*)/2201 FROM titanic WHERE surv=1 ; ## pourcentage entier : # SELECT ROUND(100*COUNT(*)/2201) FROM titanic WHERE surv=1 ; ## requête imbriquée acceptable en SQL mais pas en MYSQL # SELECT ROUND( 100*COUNT(*)/(SELECT COUNT(*) FROM titanic) ) FROM titanic WHERE surv=1 ; # 5. Combien y avait-il d'hommes ? de femmes ? SELECT COUNT(*)," hommes" FROM titanic WHERE sex=1 ; SELECT COUNT(*)," femmes" FROM titanic WHERE sex=0 ; ## en une seule instruction avec nom de modalité et pourcentages entiers décroissants SELECT ROUND(100*COUNT(sex)/2201) AS frq , "%", IF(sex=0,"femmes","hommes") AS sexe FROM titanic GROUP BY sex ORDER BY frq DESC ; # 6. Y a-t-il des personnes avec un sexe autre que homme ou femme ? SELECT COUNT(*) FROM titanic WHERE NOT ( (sex=0) OR (sex=1)) ; # 7. Quelle proportion de femmes ont survécu ? # cette question est ambigue car il y a trois réponses possibles, à savoir SELECT 100*COUNT(*)/470 FROM titanic WHERE sex=0 AND surv=1 ; SELECT 100*COUNT(*)/711 FROM titanic WHERE sex=0 AND surv=1 ; SELECT 100*COUNT(*)/2201 FROM titanic WHERE sex=0 AND surv=1 ; # 8. Quelle proportion (en entier) d'hommes ont survécu ? # question également ambigue SELECT ROUND(100*COUNT(*)/1731) FROM titanic WHERE (sex=1 AND surv=1) ; ############################################### # 9. quelles options de mysql utiliser # pour afficher les instructions avant de les exécuter ? # et pour afficher de façon bien cadrée les résultats ? # # mysql -v -t --user root test < titanic.dmd # # 10. y a-t-il une différence significative entre la moyenne d'age # des hommes et celle des femmes ? # # cette question n'a aucun sens : age est ici une variable qualitative # et le calcul de la moyenne n'est pas valide pour une telle variable. # #