|
| 1 | +Project Requirements |
| 2 | + |
| 3 | + |
| 4 | + |
| 5 | +Quiz-2: |
| 6 | + |
| 7 | +SELECT email_domain, COUNT(*) AS "Top 25 Schools" |
| 8 | +FROM users |
| 9 | +GROUP BY 1 |
| 10 | +ORDER BY 2 DESC |
| 11 | +LIMIT 25; |
| 12 | + |
| 13 | +SELECT city, COUNT(user_id) as no_of_users |
| 14 | +FROM users |
| 15 | +WHERE city = 'New York'; |
| 16 | + |
| 17 | +SELECT mobile_app, COUNT(mobile_app) as no_of_users |
| 18 | +FROM users |
| 19 | +GROUP BY 1; |
| 20 | + |
| 21 | +SELECT strftime('%H', sign_up_at), COUNT(*) |
| 22 | +FROM users |
| 23 | +GROUP BY 1; |
| 24 | + |
| 25 | + |
| 26 | +WITH cpp AS |
| 27 | +( |
| 28 | +SELECT u.email_domain, COUNT(*) AS cpp |
| 29 | +FROM users u |
| 30 | +JOIN progress p |
| 31 | +ON u.user_id = p.user_id |
| 32 | +WHERE p.learn_cpp = 'started' OR p.learn_cpp = 'completed' |
| 33 | +GROUP BY 1 |
| 34 | +ORDER BY 1 |
| 35 | +), |
| 36 | +sql AS |
| 37 | +( |
| 38 | +SELECT u.email_domain, COUNT(*) AS sql |
| 39 | +FROM users u |
| 40 | +JOIN progress p |
| 41 | +ON u.user_id = p.user_id |
| 42 | +WHERE p.learn_sql = 'started' OR p.learn_sql = 'completed' |
| 43 | +GROUP BY 1 |
| 44 | +ORDER BY 1 |
| 45 | +), |
| 46 | +html AS |
| 47 | +( |
| 48 | +SELECT u.email_domain, COUNT(*) AS html |
| 49 | +FROM users u |
| 50 | +JOIN progress p |
| 51 | +ON u.user_id = p.user_id |
| 52 | +WHERE p.learn_html = 'started' OR p.learn_html = 'completed' |
| 53 | +GROUP BY 1 |
| 54 | +ORDER BY 1 |
| 55 | +), |
| 56 | +javascript AS |
| 57 | +( |
| 58 | + |
| 59 | +SELECT u.email_domain, COUNT(*) AS javascript |
| 60 | +FROM users u |
| 61 | +JOIN progress p |
| 62 | +ON u.user_id = p.user_id |
| 63 | +WHERE p.learn_javascript = 'started' OR p.learn_javascript = 'completed' |
| 64 | +GROUP BY 1 |
| 65 | +ORDER BY 1 |
| 66 | +), |
| 67 | +java AS |
| 68 | +( |
| 69 | + |
| 70 | +SELECT u.email_domain, COUNT(*) AS java |
| 71 | +FROM users u |
| 72 | +JOIN progress p |
| 73 | +ON u.user_id = p.user_id |
| 74 | +WHERE p.learn_java = 'started' OR p.learn_java = 'completed' |
| 75 | +GROUP BY 1 |
| 76 | +ORDER BY 1 |
| 77 | +) |
| 78 | + |
| 79 | +SELECT c.email_domain, c.cpp, s.sql, h.html, j.javascript, i.java |
| 80 | +FROM cpp c |
| 81 | +JOIN sql s |
| 82 | +ON c.email_domain = s.email_domain |
| 83 | +JOIN html h |
| 84 | +ON c.email_domain = h.email_domain |
| 85 | +JOIN javascript j |
| 86 | +ON c.email_domain = j.email_domain |
| 87 | +JOIN java i |
| 88 | +ON c.email_domain = i.email_domain |
| 89 | +LIMIT 10; |
| 90 | + |
| 91 | +WITH joined AS |
| 92 | +( |
| 93 | +SELECT * |
| 94 | +FROM users u |
| 95 | +JOIN progress p |
| 96 | +ON u.user_id = p.user_id |
| 97 | +), |
| 98 | +ny_cpp AS |
| 99 | +( |
| 100 | + |
| 101 | +SELECT city, COUNT(*) AS cpp_count |
| 102 | +FROM joined |
| 103 | +WHERE (learn_cpp = 'completed' OR learn_cpp = 'started') AND (city = 'New York' OR city = 'Chicago') |
| 104 | +GROUP BY 1 |
| 105 | +), |
| 106 | +ny_sql AS |
| 107 | +( |
| 108 | + |
| 109 | +SELECT city, COUNT(*) AS sql_count |
| 110 | +FROM joined |
| 111 | +WHERE (learn_sql = 'completed' OR learn_sql = 'started') AND (city = 'New York' OR city = 'Chicago') |
| 112 | +GROUP BY 1 |
| 113 | +), |
| 114 | +ny_html AS |
| 115 | +( |
| 116 | + |
| 117 | +SELECT city, COUNT(*) AS html_count |
| 118 | +FROM joined |
| 119 | +WHERE (learn_html = 'completed' OR learn_html = 'started') AND (city = 'New York' OR city = 'Chicago') |
| 120 | +GROUP BY 1 |
| 121 | +), |
| 122 | +ny_javascript AS |
| 123 | +( |
| 124 | + |
| 125 | +SELECT city, COUNT(*) AS javascript_count |
| 126 | +FROM joined |
| 127 | +WHERE (learn_javascript = 'completed' OR learn_javascript = 'started') AND (city = 'New York' OR city = 'Chicago') |
| 128 | +GROUP BY 1 |
| 129 | +), |
| 130 | +ny_java AS |
| 131 | +( |
| 132 | + |
| 133 | +SELECT city, COUNT(*) AS java_count |
| 134 | +FROM joined |
| 135 | +WHERE (learn_java = 'completed' OR learn_java = 'started') AND (city = 'New York' OR city = 'Chicago') |
| 136 | +GROUP BY 1 |
| 137 | +) |
| 138 | + |
| 139 | +SELECT c.city, c.cpp_count, s.sql_count, h.html_count, j.javascript_count, i.java_count |
| 140 | +FROM ny_cpp c |
| 141 | +JOIN ny_sql s |
| 142 | +ON c.city = s.city |
| 143 | +JOIN ny_html h |
| 144 | +ON c.city = h.city |
| 145 | +JOIN ny_javascript j |
| 146 | +ON c.city = j.city |
| 147 | +JOIN ny_java i |
| 148 | +ON c.city = i.city |
| 149 | +; |
0 commit comments