お馬の写真 別館

「お馬の写真」管理者による徒然なるブログ

DataLab.を使って「下級レースから順番に勝ち上がった馬」を探してみる (その2)

      2015/07/16

20090505_funabashi10_00

「DataLab.を使って「下級レースから順番に勝ち上がった馬」を探してみる」の2回め。
1回目では、JRA-VAN DataLab.のデータ内で実際に使われている競走条件を調べてみました。

前回は、1986年以降の国内のサラ系のレースで使われている競走条件を列挙するために、以下のようなSQL文を書いてみました。

SELECT distinct b.content
FROM jvd_race_shosai a,jvd_kyoso_joken_code b
WHERE a.kyoso_joken_code_saijakunen=b.code
AND a.kaisai_nengappi>='1986-01-01'
AND a.data_kubun<>'B'
AND a.kyoso_shubetsu_code<'20'
AND a.kyoso_joken_code_saijakunen<>'000'
ORDER BY b.code;

いつもの癖でJOIN句を使わないでSQL文を書いていたのですが、JOINを使う方がわかりやすい、という声がローカルであったので、ちょっとSQL文を書き直します。

SELECT distinct b.content
FROM jvd_race_shosai a
JOIN jvd_kyoso_joken_code b
ON a.kyoso_joken_code_saijakunen=b.code
WHERE a.kaisai_nengappi>='1986-01-01'
AND a.data_kubun<>'B'
AND a.kyoso_shubetsu_code < '20'
AND a.kyoso_joken_code_saijakunen<>'000'
ORDER BY b.code;

 

+--------------+
| content      |
+--------------+
| 400万        |
| 500万        |
| 900万        |
| 1000万       |
| 1400万       |
| 1500万       |
| 1600万       |
| 新馬         |
| 未出走       |
| 未勝利       |
| オープン     |
+--------------+

本当は、新馬/未出走/未勝利→400万/500万→900万/1000万→1400万/1500万/1600万→オープン特別→G3→G2→G1というのを列挙したいので、今まで見てきた競走条件とは別にグレードの情報もあわせてみていきたいと思います。

さっきのSQL文にグレードも合わせて表示するように条件追加してみます。

SELECT distinct b.content joken,c.content grade
FROM jvd_race_shosai a
JOIN jvd_kyoso_joken_code b
ON a.kyoso_joken_code_saijakunen=b.code
JOIN jvd_grade_code c
ON a.grade_code=c.code
WHERE a.kaisai_nengappi>='1986-01-01'
AND a.data_kubun<>'B'
AND a.kyoso_shubetsu_code < '20'
AND a.kyoso_joken_code_saijakunen<>'000'
ORDER BY b.code,c.code;

 

+--------------+--------------+
| joken        | grade        |
+--------------+--------------+
| 400万        |              |
| 400万        | 特別競走     |
| 500万        |              |
| 500万        | 特別競走     |
| 900万        |              |
| 900万        | 特別競走     |
| 1000万       |              |
| 1000万       | 特別競走     |
| 1400万       |              |
| 1400万       | 特別競走     |
| 1500万       | 特別競走     |
| 1600万       |              |
| 1600万       | 特別競走     |
| 新馬         |              |
| 未出走       |              |
| 未勝利       |              |
| オープン     |              |
| オープン     | GⅠ          |
| オープン     | GⅡ          |
| オープン     | GⅢ          |
| オープン     | 重賞         |
| オープン     | 特別競走     |
| オープン     | J・GⅠ       |
| オープン     | J・GⅡ       |
| オープン     | J・GⅢ       |
+--------------+--------------+

ざっと目を通して扱いに困りそうなのが、特別競走でないオープン戦と「重賞」という分類をどこに含めればいいか、ですね。
特別競走でないオープン戦は主に障害オープンですが、オープン特別に含めれば良さそうかな。
「重賞」は「新設重賞」とかグレード制になる前の障害重賞、あとはエルコンドルパサーが勝った共同通信杯みたいに急遽グレードが消えたもの。まぁ仮にG3扱いにしておきましょうか。
ジャンプグレードに関してはJG1はG1、JG2はG2、JG3はG3扱いにしてみます。

前回、「次に各条件に対して番号を振っていってみましょうか。」と書きましたが、次に番号振り用のテーブルを作ってみたいと思います。
というところで、また長くなってきたので、また後日に続きを書きたいと思います。

記事一覧

DataLab.を使って「下級レースから順番に勝ち上がった馬」を探してみる (その1)
DataLab.を使って「下級レースから順番に勝ち上がった馬」を探してみる (その2)
DataLab.を使って「下級レースから順番に勝ち上がった馬」を探してみる (その3)

 - プログラミング