SELECT句で四則演算を行う †SELECTで取得したあと、プログラム側で四則演算をする必要はありませんよ。 使用環境 †以下の環境で動作確認を行いました。
$ lsb_release -d Description: Ubuntu 12.04.4 LTS
$ psql -c 'select version();' version ------------------------------------------------------------------------------------------------------ PostgreSQL 9.1.12 on i686-pc-linux-gnu, compiled by gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3, 32-bit (1 row) $ mysql -u root -p -e "select version();" Enter password: +-------------------------+ | version() | +-------------------------+ | 5.5.35-0ubuntu0.12.04.2 | +-------------------------+ $ sqlite3 --version 3.7.9 2011-11-01 00:52:41 c7c6050ef060877ebe77b41d959e9df13f8c9b5e 使用したテーブルおよびデータ †CREATE TABLE t1 (c1 INT); CREATE TABLE t2 (c1 INT); CREATE TABLE t3 (c1 INT, c2 INT); INSERT INTO t1 VALUES(1); INSERT INTO t1 VALUES(2); INSERT INTO t1 VALUES(3); INSERT INTO t1 VALUES(4); INSERT INTO t1 VALUES(5); INSERT INTO t1 VALUES(6); INSERT INTO t1 VALUES(7); INSERT INTO t1 VALUES(8); INSERT INTO t1 VALUES(9); INSERT INTO t2 VALUES(1); INSERT INTO t2 VALUES(2); INSERT INTO t2 VALUES(3); INSERT INTO t2 VALUES(4); INSERT INTO t2 VALUES(5); INSERT INTO t2 VALUES(6); INSERT INTO t2 VALUES(7); INSERT INTO t2 VALUES(8); INSERT INTO t2 VALUES(9); INSERT INTO t3 VALUES(1,9); INSERT INTO t3 VALUES(2,8); INSERT INTO t3 VALUES(3,7); INSERT INTO t3 VALUES(4,6); INSERT INTO t3 VALUES(5,5); INSERT INTO t3 VALUES(6,4); INSERT INTO t3 VALUES(7,3); INSERT INTO t3 VALUES(8,2); INSERT INTO t3 VALUES(9,1); SELECTで四則演算してみる †t1,t2テーブルのc1カラムを使って掛け算をした時の出力です。 mysql> select t1.c1, t2.c1, t1.c1*t2.c1 from t1,t2; +------+------+-------------+ | c1 | c1 | t1.c1*t2.c1 | +------+------+-------------+ | 1 | 1 | 1 | | 2 | 1 | 2 | | 3 | 1 | 3 | | 4 | 1 | 4 | | 5 | 1 | 5 | | 6 | 1 | 6 | | 7 | 1 | 7 | | 8 | 1 | 8 | | 9 | 1 | 9 | | 1 | 2 | 2 | | 2 | 2 | 4 | | 3 | 2 | 6 | | 4 | 2 | 8 | | 5 | 2 | 10 | | 6 | 2 | 12 | | 7 | 2 | 14 | | 8 | 2 | 16 | | 9 | 2 | 18 | | 1 | 3 | 3 | | 2 | 3 | 6 | | 3 | 3 | 9 | | 4 | 3 | 12 | | 5 | 3 | 15 | | 6 | 3 | 18 | | 7 | 3 | 21 | | 8 | 3 | 24 | | 9 | 3 | 27 | | 1 | 4 | 4 | | 2 | 4 | 8 | | 3 | 4 | 12 | | 4 | 4 | 16 | | 5 | 4 | 20 | | 6 | 4 | 24 | | 7 | 4 | 28 | | 8 | 4 | 32 | | 9 | 4 | 36 | | 1 | 5 | 5 | | 2 | 5 | 10 | | 3 | 5 | 15 | | 4 | 5 | 20 | | 5 | 5 | 25 | | 6 | 5 | 30 | | 7 | 5 | 35 | | 8 | 5 | 40 | | 9 | 5 | 45 | | 1 | 6 | 6 | | 2 | 6 | 12 | | 3 | 6 | 18 | | 4 | 6 | 24 | | 5 | 6 | 30 | | 6 | 6 | 36 | | 7 | 6 | 42 | | 8 | 6 | 48 | | 9 | 6 | 54 | | 1 | 7 | 7 | | 2 | 7 | 14 | | 3 | 7 | 21 | | 4 | 7 | 28 | | 5 | 7 | 35 | | 6 | 7 | 42 | | 7 | 7 | 49 | | 8 | 7 | 56 | | 9 | 7 | 63 | | 1 | 8 | 8 | | 2 | 8 | 16 | | 3 | 8 | 24 | | 4 | 8 | 32 | | 5 | 8 | 40 | | 6 | 8 | 48 | | 7 | 8 | 56 | | 8 | 8 | 64 | | 9 | 8 | 72 | | 1 | 9 | 9 | | 2 | 9 | 18 | | 3 | 9 | 27 | | 4 | 9 | 36 | | 5 | 9 | 45 | | 6 | 9 | 54 | | 7 | 9 | 63 | | 8 | 9 | 72 | | 9 | 9 | 81 | +------+------+-------------+ 81 rows in set (0.00 sec) t3テーブルのc1,c2カラムを使って四則演算をしてみます。 mysql> select c1 / c2 from t3; +---------+ | c1 / c2 | +---------+ | 0.1111 | | 0.2500 | | 0.4286 | | 0.6667 | | 1.0000 | | 1.5000 | | 2.3333 | | 4.0000 | | 9.0000 | +---------+ 9 rows in set (0.02 sec) mysql> select c1 * c2 from t3; +---------+ | c1 * c2 | +---------+ | 9 | | 16 | | 21 | | 24 | | 25 | | 24 | | 21 | | 16 | | 9 | +---------+ 9 rows in set (0.00 sec) mysql> select c1 - c2 from t3; +---------+ | c1 - c2 | +---------+ | -8 | | -6 | | -4 | | -2 | | 0 | | 2 | | 4 | | 6 | | 8 | +---------+ 9 rows in set (0.00 sec) 以上、SQLにて四則演算をするサンプルSQLでした。 |