2
date
列がNULL
の行を、その行の直前および直近のidの日付の平均をとって更新しようとしています。以下のデータで欠落している日付を平均化するためのMySQL
、それはMySQLの文はこれを実現するだろうか2011-10-19
するID 26
で行を更新しますか?
追加メモ:
データは次のようになります。
id date title
--------------------------------------------
12 2011-09-01 Example One
23 2011-10-02 Example Two
26 NULL Example Three
27 2011-11-05 Example Four
29 2012-01-05 Example Five
37 NULL Example Six
38 2012-02-03 Example Seven
--------------------------------------------
私は手順を使用しないことを好むだろう。
これまでのところ、私が持っている...
UPDATE `table`
SET `date`=
(AVG(
(SELECT `date` FROM `table` WHERE `id`< ID_OF_PARENT_QUERY AND `date` IS NOT NULL LIMIT 1),
(SELECT `date` FROM `table` WHERE `id`> ID_OF_PARENT_QUERY AND `date` IS NOT NULL LIMIT 1)
))
WHERE `date` IS NULL
あなたは1の連続した 'NULL'値以上のものを持っていることはできますか?そうであれば、どのように進めますか? –
@MostyMostacho - はい。私は 'date'値が設定されているところで一番近い行(一意のIDによる)を探したいと思います。 – DesignerGuy