mazeltov7のweb断片

備忘録的なテキトーなことを書きます。(技術記事はQiitaに移行しました http://qiita.com/mazeltov7 )

mysqlでテーブル内の同一カラムで引き算した結果出す

やったこと

mysqlのテーブルで、同一カラムを引き算して結果出したい場合、それぞれテーブルを名前付けて引くと良い
こんなテーブルがあるとして、

+---------------+--------------+------+-----+---------+----------------+
| Field         | Type         | Null | Key | Default | Extra          |
+---------------+--------------+------+-----+---------+----------------+
| id            | int(11)      | NO   | PRI | NULL    | auto_increment |
| name          | varchar(255) | YES  |     | NULL    |                |
| followers     | int(11)      | YES  |     | NULL    |                |
| following     | int(11)      | YES  |     | NULL    |                |
| created       | datetime     | YES  |     | NULL    |                |
+---------------+--------------+------+-----+---------+----------------+

同じユーザー名で、昨日と今日のフォロワー数とかフォロー数を引き算して出したい。簡単に書くとたとえば、(今日/昨日は適当に入れて)

mysql > select A.name, A.followers - B.followers as followers, A.created
        from tw_data A, tw_data B 
        where A.created = '今日' and B.created = '昨日' and A.screen_name = B.screen_name;

とかやると出せる。

以上