|
aki
- 10/11/15(月) 23:24 -
|
|
|
|
別のSQLの条件式を教えていただきたく書き込みさせていただきました。教えていただきたいのは以下の条件式についてです。
・前3F + 後3Fの合計が1位〜5位の抽出
お手数おかけしますが、宜しくお願いします
|
|
<Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.1.15) Gecko/20101026 Firef...@KHP222227083053.ppp-bb.dion.ne.jp>
|
|
JRDBシステム班
- 10/12/17(金) 17:11 -
|
|
|
|
akiさんへ
JRDBご利用ありがとうございます。
難しいSQL文の場合(考えないといけない。。)は、このように遅くなります。ご容赦ください。
>別のSQLの条件式を教えていただきたく書き込みさせていただきました。教えていただきたいのは以下の条件式についてです。
>
>・前3F + 後3Fの合計が1位〜5位の抽出
>
成績(結果)の前3F、後3Fで作成すると次のようになります。
拡張
**************************
(SELECT COUNT (*)+1 FROM [D成績データ] AS T WHERE T.[レースキー]=[D成績データ].[レースキー] AND (T.[前3F]+T.[後3F])<([D成績データ].[前3F]+[D成績データ].[後3F]))<=5
**************************
レース前には成績データは無いので、
実際は、前走の前3F、後3F、あるいは、今走のテン指数、上がり指数を使うことになるでしょう。
その場合は、[D成績_1].[前3F]や[競走馬データ].[テン指数] を使うことになります。
|
|
<Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; GTB6.6; .NET C...@fntoska009014.oska.fnt.ftth2.ppp.infoweb.ne.jp>
|
|
aki
- 10/12/23(木) 21:25 -
|
|
|
|
JRDBシステム班さんへ
ご回答の程、ありがとうございます。
早速試してみます。
>akiさんへ
>
>JRDBご利用ありがとうございます。
>難しいSQL文の場合(考えないといけない。。)は、このように遅くなります。ご容赦ください。
>
>>別のSQLの条件式を教えていただきたく書き込みさせていただきました。教えていただきたいのは以下の条件式についてです。
>>
>>・前3F + 後3Fの合計が1位〜5位の抽出
>>
>
>成績(結果)の前3F、後3Fで作成すると次のようになります。
>
>拡張
>**************************
>(SELECT COUNT (*)+1 FROM [D成績データ] AS T WHERE T.[レースキー]=[D成績データ].[レースキー] AND (T.[前3F]+T.[後3F])<([D成績データ].[前3F]+[D成績データ].[後3F]))<=5
>**************************
>
>レース前には成績データは無いので、
>実際は、前走の前3F、後3F、あるいは、今走のテン指数、上がり指数を使うことになるでしょう。
>その場合は、[D成績_1].[前3F]や[競走馬データ].[テン指数] を使うことになります。
|
|
<Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.1.16) Gecko/20101130 Firef...@KHP222227083053.ppp-bb.dion.ne.jp>
|
|
aki
- 10/12/26(日) 21:36 -
|
|
|
|
JRDBシステム班さんへ
教えていただいたSQLで1位から5位を抽出できる理屈がよく分からないので教えてください。
抽出の条件に使用している前3Fと後3Fのデータには340や350といった3桁の数値が入っており、
それを足しただけで1位から5位を抽出できるとは思えないのですが・・・
お手数おかけしてお申し訳ありませんが、抽出の手順について詳しく教えていただくことは
できないでしょうか
>akiさんへ
>
>JRDBご利用ありがとうございます。
>難しいSQL文の場合(考えないといけない。。)は、このように遅くなります。ご容赦ください。
>
>>別のSQLの条件式を教えていただきたく書き込みさせていただきました。教えていただきたいのは以下の条件式についてです。
>>
>>・前3F + 後3Fの合計が1位〜5位の抽出
>>
>
>成績(結果)の前3F、後3Fで作成すると次のようになります。
>
>拡張
>**************************
>(SELECT COUNT (*)+1 FROM [D成績データ] AS T WHERE T.[レースキー]=[D成績データ].[レースキー] AND (T.[前3F]+T.[後3F])<([D成績データ].[前3F]+[D成績データ].[後3F]))<=5
>**************************
>
>レース前には成績データは無いので、
>実際は、前走の前3F、後3F、あるいは、今走のテン指数、上がり指数を使うことになるでしょう。
>その場合は、[D成績_1].[前3F]や[競走馬データ].[テン指数] を使うことになります。
|
|
<Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.1.16) Gecko/20101130 Firef...@KHP222227083053.ppp-bb.dion.ne.jp>
|
|
JRDBシステム班
- 10/12/27(月) 14:22 -
|
|
|
|
akiさんへ
JRDBをご利用頂きありがとございます。
分かり易く説明するために、JRDBのブログに書かせて頂きました。
ご覧になって下さい。
それでは今後ともJRDBをよろしくお願いします。
|
|
<Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.10 (KHTML, lik...@fntoska009014.oska.fnt.ftth2.ppp.infoweb.ne.jp>
|
|
aki
- 10/12/29(水) 13:27 -
|
|
|
|
JRDBシステム班さんへ
ブログでの説明ありがとうございます。おかげ様で納得することができました。
拡張版として自分なりに並び順条件に以下の条件を追加してみました。
・ORDER BY [D番組データ].[年月日],[D番組データ].[レースキー], ([D成績データ].[前3F] + [D成績データ].[後3F])
しかし、上記の場合ですと正常に並び替えが行われませんでした
(演算を行わず[D成績データ].[前3F]であれば正常に並び替えがされます)
色々と試してみたのですが解決にいたらないので、アドバイスの方を頂けないでしょうか。よろしくお願いします。
>akiさんへ
>
>JRDBをご利用頂きありがとございます。
>
>分かり易く説明するために、JRDBのブログに書かせて頂きました。
>ご覧になって下さい。
>
>それでは今後ともJRDBをよろしくお願いします。
|
|
<Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.1.16) Gecko/20101130 Firef...@KHP222227083053.ppp-bb.dion.ne.jp>
|
|
JRDBシステム班
- 10/12/29(水) 15:24 -
|
|
|
|
akiさんへ
JRDBをご利用頂きありがとございます。
確認なのですが、これはGGAでの並び替えという事でしょうか?
GGAですと集計されますので、例えばブログに載せた例ですと、1行に集約されます。
ただし、レースキーでの並び替えは出来るとの事ですので、どのように集計を行っているのでしょうか?
それでは今後ともJRDBをよろしくお願いします。
|
|
<Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.10 (KHTML, lik...@fntoska009014.oska.fnt.ftth2.ppp.infoweb.ne.jp>
|
|
aki
- 10/12/29(水) 15:34 -
|
|
|
|
JRDBシステム班さんへ
>確認なのですが、これはGGAでの並び替えという事でしょうか?
すみません、説明足らずでした。GGAでの並び替えではなく、ACCESSを使用しての
SQL文を使用しての並び替えになります。
>akiさんへ
>
>JRDBをご利用頂きありがとございます。
>
>確認なのですが、これはGGAでの並び替えという事でしょうか?
>
>GGAですと集計されますので、例えばブログに載せた例ですと、1行に集約されます。
>ただし、レースキーでの並び替えは出来るとの事ですので、どのように集計を行っているのでしょうか?
>
>それでは今後ともJRDBをよろしくお願いします。
|
|
<Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.1.16) Gecko/20101130 Firef...@KHP222227083053.ppp-bb.dion.ne.jp>
|
|
JRDBシステム班
- 10/12/29(水) 18:00 -
|
|
|
|
akiさんへ
>JRDBシステム班さんへ
>
>>確認なのですが、これはGGAでの並び替えという事でしょうか?
>すみません、説明足らずでした。GGAでの並び替えではなく、ACCESSを使用しての
>SQL文を使用しての並び替えになります。
>
ACCESSのバージョンで違いがあるかもそれませんが、
最終的な表示で並び替えが必要であれば、
・並び替え用の別クエリを作成して、そこから表示したいデータのクエリを呼ぶ
・テーブル作成クエリにして、1度テーブルにしてから、また別の操作を行う
という方法が、とりあえず実現するには早いかもしれません。
手動でするのは面倒ですので、一連の操作はマクロにでもしておいた方が良いでしょう。
|
|
<Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.10 (KHTML, lik...@fntoska009014.oska.fnt.ftth2.ppp.infoweb.ne.jp>
|
|
aki
- 10/12/29(水) 19:02 -
|
|
|
|
JRDBシステム班さんへ
アドバイスありがとうございます。
やり方がいまいち分りませんが勉強がてら調べながら試してみたいと思います。
>akiさんへ
>>JRDBシステム班さんへ
>>
>>>確認なのですが、これはGGAでの並び替えという事でしょうか?
>>すみません、説明足らずでした。GGAでの並び替えではなく、ACCESSを使用しての
>>SQL文を使用しての並び替えになります。
>>
>
>ACCESSのバージョンで違いがあるかもそれませんが、
>最終的な表示で並び替えが必要であれば、
>・並び替え用の別クエリを作成して、そこから表示したいデータのクエリを呼ぶ
>・テーブル作成クエリにして、1度テーブルにしてから、また別の操作を行う
>という方法が、とりあえず実現するには早いかもしれません。
>手動でするのは面倒ですので、一連の操作はマクロにでもしておいた方が良いでしょう。
|
|
<Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.1.16) Gecko/20101130 Firef...@KHP222227083053.ppp-bb.dion.ne.jp>
|
|
aki
- 10/12/29(水) 19:24 -
|
|
|
|
JRDBシステム班さんへ
>・テーブル作成クエリにして、1度テーブルにしてから、また別の操作を行う
上記の方法で無事作成することができました。
しかし、手動での作成なのでマクロを勉強しながら自動化できるように取り組んでみたいと思います。
>akiさんへ
>>JRDBシステム班さんへ
>>
>>>確認なのですが、これはGGAでの並び替えという事でしょうか?
>>すみません、説明足らずでした。GGAでの並び替えではなく、ACCESSを使用しての
>>SQL文を使用しての並び替えになります。
>>
>
>ACCESSのバージョンで違いがあるかもそれませんが、
>最終的な表示で並び替えが必要であれば、
>・並び替え用の別クエリを作成して、そこから表示したいデータのクエリを呼ぶ
>・テーブル作成クエリにして、1度テーブルにしてから、また別の操作を行う
>という方法が、とりあえず実現するには早いかもしれません。
>手動でするのは面倒ですので、一連の操作はマクロにでもしておいた方が良いでしょう。
|
|
<Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.1.16) Gecko/20101130 Firef...@KHP222227083053.ppp-bb.dion.ne.jp>
|
|
aki
- 10/12/30(木) 20:39 -
|
|
|
|
JRDBシステム班さんへ
おかげさまで自動で処理できるようになりました。ありがとうございます。
JRDBから提供されているデータについて質問なのですが、当日の時点で偏差値
を算出するためには自分で計算する必要があるのでしょうか?
またあるのであれば、どのように算出しているのでしょうか。可能な範囲でいいので
教えていただくことは可能でしょうか。よろしくお願いします。
>
> >・テーブル作成クエリにして、1度テーブルにしてから、また別の操作を行う
> 上記の方法で無事作成することができました。
> しかし、手動での作成なのでマクロを勉強しながら自動化できるように取り組んでみたいと思います。
>
>>akiさんへ
>>>JRDBシステム班さんへ
>>>
>>>>確認なのですが、これはGGAでの並び替えという事でしょうか?
>>>すみません、説明足らずでした。GGAでの並び替えではなく、ACCESSを使用しての
>>>SQL文を使用しての並び替えになります。
>>>
>>
>>ACCESSのバージョンで違いがあるかもそれませんが、
>>最終的な表示で並び替えが必要であれば、
>>・並び替え用の別クエリを作成して、そこから表示したいデータのクエリを呼ぶ
>>・テーブル作成クエリにして、1度テーブルにしてから、また別の操作を行う
>>という方法が、とりあえず実現するには早いかもしれません。
>>手動でするのは面倒ですので、一連の操作はマクロにでもしておいた方が良いでしょう。
|
|
<Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.1.16) Gecko/20101130 Firef...@KHP222227083053.ppp-bb.dion.ne.jp>
|
|
JRDBシステム班
- 11/1/15(土) 18:54 -
|
|
|
|
akiさんへ
>
> おかげさまで自動で処理できるようになりました。ありがとうございます。
> JRDBから提供されているデータについて質問なのですが、当日の時点で偏差値
> を算出するためには自分で計算する必要があるのでしょうか?
> またあるのであれば、どのように算出しているのでしょうか。可能な範囲でいいので
> 教えていただくことは可能でしょうか。よろしくお願いします。
>
偏差値は、本来、サンプル数が充分なあり正規分布になるデータを前提とした統計手法と思います。
GGで使っている偏差値は、これを出走馬の母集団にあてはめて計算しています。本来の使い方ではないので
どのように加工すれば正解かは別にないと思います。
ある馬が出走馬中において、どれぐらいの位置にいるかの目安にはなると思いますが、母集団の偏り具合で
予期せぬ結果となることもあります。
>>
>> >・テーブル作成クエリにして、1度テーブルにしてから、また別の操作を行う
>> 上記の方法で無事作成することができました。
>> しかし、手動での作成なのでマクロを勉強しながら自動化できるように取り組んでみたいと思います。
>>
>>>akiさんへ
>>>>JRDBシステム班さんへ
>>>>
>>>>>確認なのですが、これはGGAでの並び替えという事でしょうか?
>>>>すみません、説明足らずでした。GGAでの並び替えではなく、ACCESSを使用しての
>>>>SQL文を使用しての並び替えになります。
>>>>
>>>
>>>ACCESSのバージョンで違いがあるかもそれませんが、
>>>最終的な表示で並び替えが必要であれば、
>>>・並び替え用の別クエリを作成して、そこから表示したいデータのクエリを呼ぶ
>>>・テーブル作成クエリにして、1度テーブルにしてから、また別の操作を行う
>>>という方法が、とりあえず実現するには早いかもしれません。
>>>手動でするのは面倒ですので、一連の操作はマクロにでもしておいた方が良いでしょう。
|
|
<Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; GTB6.6; .NET C...@fntoska009014.oska.fnt.ftth2.ppp.infoweb.ne.jp>
|
|
aki
- 11/1/16(日) 0:39 -
|
|
|
|
JRDBシステム班さんへ
下記回答ありがとうございます。
あくまで、「どれぐらいの位置にいるかの目安として使う」にとどめた方がいいということですね。
参考になりました。
>akiさんへ
>
>>
>> おかげさまで自動で処理できるようになりました。ありがとうございます。
>> JRDBから提供されているデータについて質問なのですが、当日の時点で偏差値
>> を算出するためには自分で計算する必要があるのでしょうか?
>> またあるのであれば、どのように算出しているのでしょうか。可能な範囲でいいので
>> 教えていただくことは可能でしょうか。よろしくお願いします。
>>
>偏差値は、本来、サンプル数が充分なあり正規分布になるデータを前提とした統計手法と思います。
>GGで使っている偏差値は、これを出走馬の母集団にあてはめて計算しています。本来の使い方ではないので
>どのように加工すれば正解かは別にないと思います。
>
>ある馬が出走馬中において、どれぐらいの位置にいるかの目安にはなると思いますが、母集団の偏り具合で
>予期せぬ結果となることもあります。
>
>
>>>
>>> >・テーブル作成クエリにして、1度テーブルにしてから、また別の操作を行う
>>> 上記の方法で無事作成することができました。
>>> しかし、手動での作成なのでマクロを勉強しながら自動化できるように取り組んでみたいと思います。
>>>
>>>>akiさんへ
>>>>>JRDBシステム班さんへ
>>>>>
>>>>>>確認なのですが、これはGGAでの並び替えという事でしょうか?
>>>>>すみません、説明足らずでした。GGAでの並び替えではなく、ACCESSを使用しての
>>>>>SQL文を使用しての並び替えになります。
>>>>>
>>>>
>>>>ACCESSのバージョンで違いがあるかもそれませんが、
>>>>最終的な表示で並び替えが必要であれば、
>>>>・並び替え用の別クエリを作成して、そこから表示したいデータのクエリを呼ぶ
>>>>・テーブル作成クエリにして、1度テーブルにしてから、また別の操作を行う
>>>>という方法が、とりあえず実現するには早いかもしれません。
>>>>手動でするのは面倒ですので、一連の操作はマクロにでもしておいた方が良いでしょう。
|
|
<Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.1.16) Gecko/20101130 Firef...@KHP222227083053.ppp-bb.dion.ne.jp>
|
|
DBプログラミング初心者
- 11/5/6(金) 4:37 -
|
|
|
|
JRDBシステム班さんへ
>akiさんへ
>
>JRDBをご利用頂きありがとございます。
>
>分かり易く説明するために、JRDBのブログに書かせて頂きました。
>ご覧になって下さい。
>
>それでは今後ともJRDBをよろしくお願いします。
始めまして。検索で辿りつきました。
質問に便乗させてください。
実は似たような問題を抱えていて、DBから過去の戦歴を(例えば過去5走)とかどうやって抜き出すのかアタマを抱えております。
拡張
**************************
(SELECT COUNT (*)+1 FROM [D成績データ] AS T WHERE T.[レースキー]=[D成績データ].[レースキー] AND (T.[前3F]+T.[後3F])<([D成績データ].[前3F]+[D成績データ].[後3F]))<=5
**************************
これは内部結合で表記すると、
(SELECT
COUNT (*) + 1
FROM
[D成績データ] T
INNER JOIN [D成績データ] S
ON S.[レースキー] = T.[レースキー]
WHERE (T.[前3F]+T.[後3F]) < ([D成績データ].[前3F]+[D成績データ].[後3F])) <= 5
と同じ事ですよね。
同様のロジックを使えば、例えばJRA-VANが提供している馬毎レースデータの血統登録番号をキーとして、
(SELECT
COUNT (*) + 1
FROM
[馬毎レース情報] T
INNER JOIN [馬毎レース情報] S
ON S.[血統登録番号] = T.[血統登録番号]
WHERE T.[レースコード] < S.[レースコード]) <= 5
と記述するのが可能と思われます。思われますが・・・・・・。
問題はこれって副問い合わせですよね。そうすると、この外側に同じく馬毎レース情報があった場合、SとTは別々の認識で良いのですが、
少なくともSかTかのどちらかが、外側にある馬毎レース情報でなければなりません。つまり、参照の問題が生じるんですが、これを一体
どうやって解決すべきなのか、分からないのです。
是非ともご教授頂ければ、と思います。
|
|
<Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12...@FLH1Aax080.chb.mesh.ad.jp>
|
|
JRDBシステム班
- 11/5/7(土) 20:57 -
|
|
|
|
DBプログラミング初心者さんへ
JRDBご利用ありがとうございます。
>同様のロジックを使えば、例えばJRA-VANが提供している馬毎レースデータの血統登録番号をキーとして、
>
>(SELECT
> COUNT (*) + 1
>FROM
>[馬毎レース情報] T
>INNER JOIN [馬毎レース情報] S
>ON S.[血統登録番号] = T.[血統登録番号]
>WHERE T.[レースコード] < S.[レースコード]) <= 5
>
>と記述するのが可能と思われます。思われますが・・・・・・。
>問題はこれって副問い合わせですよね。そうすると、この外側に同じく馬毎レース情報があった場合、SとTは別々の認識で良いのですが、
>少なくともSかTかのどちらかが、外側にある馬毎レース情報でなければなりません。つまり、参照の問題が生じるんですが、これを一体
>どうやって解決すべきなのか、分からないのです。
>
おそらく()の中で何走前を計算して、それが5以下の条件 ということと思います。
で、「参照の問題」というのが、どういうことなのかわかりません。
INNER JOIN を使わないで、元のような形で使うのはダメなのでしょうか?
|
|
<Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; GTB6.6; .NET C...@fntoska009014.oska.fnt.ftth2.ppp.infoweb.ne.jp>
|
|
DBプログラミング初心者
- 11/5/8(日) 4:17 -
|
|
|
|
JRDBシステム班さんへ
>おそらく()の中で何走前を計算して、それが5以下の条件 ということと思います。
>で、「参照の問題」というのが、どういうことなのかわかりません。
>INNER JOIN を使わないで、元のような形で使うのはダメなのでしょうか?
ああ、参照の問題は解決しました。どのテーブルがどのテーブルを指すべきなのか、ちょっと分からなかったもので・・・。
ただ、TABLE1のRACE_CODEの最大値「よりも」TABLE2のRACE_CODE内の小さい値を5つ抜き出す、と言うのがなかなか難しく、
一つ解を見つけたんですが、検索/演算がかなり重くなって大変な事になっております。
SELECT
*
FROM
(SELECT
KETTO_TOROKU_BANGO
, RACE_CODE
, (SELECT
COUNT (*) + 1
FROM
JVD_UMAGOTO_RACE_JOHO T2
WHERE T2.KETTO_TOROKU_BANGO = T1.KETTO_TOROKU_BANGO
AND T2.RACE_CODE < T1.RACE_CODE) AS ROW
FROM
JVD_UMAGOTO_RACE_CODE T1) T
WHERE T.ROW <= 5
ORDER BY
T.KETTO_TOROKU_BANGO, T.RACE_CODE;
もしこれより効率的な解をご存知でしたら、お教え頂けたら、と思います。
|
|
<Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12...@FLH1Aax080.chb.mesh.ad.jp>
|
|
 |
 |