Open nkx2ca opened 5 years ago
mysql> show tables;
+--------------------+
| Tables_in_ishocon2 |
+--------------------+
| candidates |
| users |
| votes |
+--------------------+
3 rows in set (0.00 sec)
candidates
mysql> show create table candidates;
+------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| candidates | CREATE TABLE `candidates` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(128) NOT NULL,
`political_party` varchar(128) NOT NULL,
`sex` varchar(32) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8mb4 |
+------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT * FROM candidates LIMIT 5;
+----+---------------+-------------------------+-----+
| id | name | political_party | sex |
+----+---------------+-------------------------+-----+
| 1 | 佐藤 一郎 | 夢実現党 | 男 |
| 2 | 佐藤 次郎 | 国民10人大活躍党 | 女 |
| 3 | 佐藤 三郎 | 国民10人大活躍党 | 女 |
| 4 | 佐藤 四郎 | 国民10人大活躍党 | 男 |
| 5 | 佐藤 五郎 | 国民元気党 | 女 |
+----+---------------+-------------------------+-----+
5 rows in set (0.00 sec)
users
mysql> show create table users;
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| users | CREATE TABLE `users` (
`id` int(32) NOT NULL AUTO_INCREMENT,
`name` varchar(128) NOT NULL,
`address` varchar(256) NOT NULL,
`mynumber` varchar(32) NOT NULL,
`votes` int(4) NOT NULL,
PRIMARY KEY (`id`),
KEY `mynumber` (`mynumber`)
) ENGINE=InnoDB AUTO_INCREMENT=4000001 DEFAULT CHARSET=utf8mb4 |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT * FROM users LIMIT 5;
+----+---------------------------+-----------+----------+-------+
| id | name | address | mynumber | votes |
+----+---------------------------+-----------+----------+-------+
| 1 | セキグチ キヨタカ | 青森県 | 18 | 138 |
| 2 | コマツ カンイチ | 島根県 | 152 | 80 |
| 3 | クロサワ チセコ | 奈良県 | 257 | 161 |
| 4 | オオノ ヨシアキ | 兵庫県 | 397 | 72 |
| 5 | コウノ テルコ | 沖縄県 | 467 | 144 |
+----+---------------------------+-----------+----------+-------+
5 rows in set (0.01 sec)
votes
mysql> show create table votes;
+-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| votes | CREATE TABLE `votes` (
`id` int(32) NOT NULL AUTO_INCREMENT,
`user_id` int(32) NOT NULL,
`candidate_id` int(11) NOT NULL,
`keyword` text NOT NULL,
PRIMARY KEY (`id`),
KEY `user_id` (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=249615 DEFAULT CHARSET=utf8mb4 |
+-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT * FROM votes LIMIT 10;
+--------+---------+--------------+-----------------------------------------------+
| id | user_id | candidate_id | keyword |
+--------+---------+--------------+-----------------------------------------------+
| 201621 | 56222 | 23 | 他にまともな候補者がいないため |
| 201622 | 56222 | 23 | 他にまともな候補者がいないため |
| 201623 | 66871 | 4 | 他にまともな候補者がいないため |
| 201624 | 66871 | 4 | 他にまともな候補者がいないため |
| 201625 | 66871 | 4 | 他にまともな候補者がいないため |
| 201626 | 74440 | 19 | 教えてたくない |
| 201627 | 74440 | 19 | 教えてたくない |
| 201628 | 74440 | 19 | 教えてたくない |
| 201629 | 74440 | 19 | 教えてたくない |
| 201630 | 121413 | 22 | 他にまともな候補者がいないため |
+--------+---------+--------------+-----------------------------------------------+
10 rows in set (0.00 sec)
INDEX作成
mysql> ALTER TABLE votes ADD INDEX candidate_id(candidate_id);
Query OK, 0 rows affected (0.02 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> SELECT DISTINCT keyword FROM votes;
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| keyword |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 他にまともな候補者がいないため |
| 若手で、また、働く環境や貧困について真剣に考えてくれているように感じたから |
| 声に惹かれた |
| 私と名前が同じだったから |
| 経歴 |
| 誠実さ |
| 顔が好み |
| 自分の所属する政党の候補者だったから |
| 全候補者について、学歴や経歴は見ず、政策や演説だけで判断した結果、最も自分が描いていた社会に近かったから |
| 政策を吟味した結果。あの党の政策は反対だと感じたため、そこに対抗しうる政党を選んだ |
| 誰もが人間らしく生きられる社会をめざしているため |
| 自分でもなぜか分からない |
| 教えてたくない |
| 愛に対する考え方 |
| 親戚と顔が似ていたから |
| 若干極端な選択だが、この様な声があるのは悪い事ではない。他に良い立候補者がいない。個人的には、左寄りが必要。世界的に見て「ナショナリズム」が台頭しているためこの国も染まってしまう前に左寄りへ。でも極端に左なのは絶対に嫌だ |
| 気分 |
| 女性の輝く社会を実現しようと公約を掲げていたため |
| 実際にお会いする機会があった際、若い世代の問題に取り組む姿勢があり、また質問に誠実に答えてくれる印象を受けたから |
| 税金を無駄遣いしてくれそうだから |
| 若いから |
| ノーコメント |
| 政権交代して欲しかったため |
| 一番最初に目に入った名前だったから |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
24 rows in set (0.64 sec)
mysql> select distinct political_party from candidates;
+-------------------------+
| political_party |
+-------------------------+
| 夢実現党 |
| 国民10人大活躍党 |
| 国民元気党 |
| 国民平和党 |
+-------------------------+
CREATE INDEX mynumber_name_address ON users(mynumber, name, address);