114日目:データベース
データベースの講義13日目です。
【講義内容】
- 自習
【ワンポイント】
クロス集計
WITH count_tmp AS( SELECT gender, user_place, COUNT(user_id) AS user_count FROM customers GROUP BY user_place, gender ORDER BY user_place DESC ), tmp AS( SELECT *, ROW_NUMBER() OVER(PARTITION BY gender) AS sequence FROM count_tmp ) SELECT gender, MAX(CASE sequence WHEN 1 THEN user_count ELSE NULL END) AS Tokyo, MAX(CASE sequence WHEN 2 THEN user_count ELSE NULL END) AS Osaka, MAX(CASE sequence WHEN 3 THEN user_count ELSE NULL END) AS Kanagawa FROM tmp GROUP BY gender ;
出力結果
+--------+-------+-------+----------+ | gender | Tokyo | Osaka | Kanagawa | +--------+-------+-------+----------+ | M | 2 | 1 | 2 | | W | 4 | 2 | 1 | +--------+-------+-------+----------+ 2 rows in set (0.00 sec)
【今日の積み上げ】
‐ データベースの基礎
113日目:データベース
データベースの講義12日目です。
【講義内容】
- 自習
【ワンポイント】
MySQL 例外処理
- ProgrammingError
- IntegrityError
- DatabaseError
- InterfaceError
【今日の積み上げ】
‐ データベースの基礎
MySQL:データ型
Required Storage and Range for Integer Types Supported by MySQL
Type | Storage (Bytes) | Minimum Value Signed | Minimum Value Unsigned | Maximum Value Signed | Maximum Value Unsigned |
---|---|---|---|---|---|
TINYINT | 1 | -128 | 0 | 127 | 255 |
SMALLINT | 2 | -32768 | 0 | 32767 | 65535 |
MEDIUMINT | 3 | -8388608 | 0 | 8388607 | 16777215 |
INT | 4 | -2147483648 | 0 | 2147483647 | 4294967295 |
BIGINT | 8 | -2^{63} | 0 | 2^{63}-1 | 2^{64}-1 |