[過去ログ] SQL質疑応答スレ 19問目 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
477
(3): 466 2020/05/02(土)17:32 ID:??? AAS
>>476

ありがとうございます。coalesceでぐぐって、
こちらのページをみて、
https://www.dbonline.jp/sqlite/function/index23.html

ひとまず、

update scoreTable set movingAvg =
ifnull((select avg(t1.score) from scoreTable as t1
WHERE t1.player=scoreTable.player and t1.date < scoreTable.date
and t1.date >= date(scoreTable.date, "-10 days")), 0.0)

としてみたらどうやらできました。
省1
483: 2020/05/02(土)18:14 ID:??? AAS
>>477
COALESCEはSQL標準
IFNULLやISNULLはDBMS特有の関数
なので都合が悪いケースじゃなければCOALESCE使う

よく読んでなかったけど
NOT NULL constraint failedって
moving_avgがnullになる可能性もあるのにNOT NULL付けたらだめじゃないの?
10日間のスコア平均が0.0の場合と値が無いケースとの区別ができなくなる
486: 2020/05/02(土)18:27 ID:IGZUerYJ(2/4) AAS
>>477
なんかどんどん変な慣習に引きずられているなw

他のひとも指摘しているけど、NULLを返すレコードがあるなら、そのレコードを初めから排除しとけよ。
488: 2020/05/02(土)18:33 ID:IGZUerYJ(3/4) AAS
>>477
自分のなかで決まりがなさすぎだろ。

なんとかdateという名前にしておきながら、データ型がバラバラとかあからさまに初心者。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 3.263s*