その行の前の最も近いIDとその後の最も近いIDの日付を平均することにより、date
列がある行を更新しようとしています。NULL
以下のデータでは、IDで行を更新して次のように26
します。2011-10-19
どのMySQLステートメントがこれを達成しますか?
その他の注意事項:
データは次のようになります。
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