サンプル・プログラムの実行例
サンプル・プログラム
minmax.php | サンプル・プログラム |
このプログラムは、生年・没年の各々の最小値・最大値を取り出し、最後に年号の範囲を求める。
解説:最大/最小値・平均値を求める
51: //実行するSQL
52: define('PRE_MINMAX', 'SELECT MIN(birth),MIN(death),MAX(birth),MAX(death),AVG(death - birth) FROM chronologic WHERE 1;');
解説:年号の範囲を求める
198: //結果の取り出し+表示コンテンツ作成
199: $y_min = min($row[0], $row[1]);
200: $y_max = max($row[2], $row[3]);
201: $res =<<< EOT
202: <p>
203: 生年(最小):{$row[0]}<br />
204: 生年(最大):{$row[1]}<br />
205: 没年(最小):{$row[2]}<br />
206: 没年(最大):{$row[3]}
207: </p>
208: <p>死亡時平均年齢:{$row[4]}</p>
209: <p>年号の範囲:{$y_min} - {$y_max}</p>
210:
211: EOT;
212: }
SQLの実行にあたっては、「PHP+SQLite:条件に一致するレコードの数を数える」の時と同様、PDOの プリペアドステートメントを用いている。MIN関数、MAX関数で返されるカラムは、配列 $res の要素 0 から順に代入される。
(この項おわり)
そこで今回は、SQLに用意されている統計関数を利用し、カラム(生年、没年)の最大値や最小値、死亡時平均年齢をを求めるプログラムを作ってみることにする。
(2022年11月26日)PHP8対応,他.