私はSQLを使い慣れていません。私の馬のデータベースには、日付と馬の名前の2つの列があります。日付は馬の競走日と馬の名前です。前回の馬と前回の馬との日差を3列目にしたいと思います。SQLで関数がある場合の日付差分
ご協力いただければ幸いです。
私はSQLを使い慣れていません。私の馬のデータベースには、日付と馬の名前の2つの列があります。日付は馬の競走日と馬の名前です。前回の馬と前回の馬との日差を3列目にしたいと思います。SQLで関数がある場合の日付差分
ご協力いただければ幸いです。
SQLの日付関数は異なります。 1つの一般的な方法は、単に減算です。
以前の日付を取得するには、ANSI標準lag()
関数を使用できます(一部のデータベースでは使用できません)。
クエリは次のようになります。これは最初のレースのためにNULL
なります
select h.*,
(racedate - lag(racedate) over (partition by horse order by racedate) as daysSinceLastRace
from horses h;
。
(注:一部のデータベースではなく引き算よりも、日中の違いは、「DATEDIFF()」関数を使用します。)
ありがとう! – Zipping2010
ありがとうございます。完璧に動作します。私は特定の準備の中で馬が走っていることをどのように数えますか?たとえば、馬が90日以上経過していない場合は、0になり、次に実行されるのは1になり、次に呪文が2回鳴り、カウントがリセットされるまで続きます。乾杯。 – Zipping2010
@ Zipping2010。 。 。別の質問がある場合は、それをサンプルデータと希望の結果で質問してください。 –
タグあなたの質問を使用しているデータベースで。 –