我在 mysql 服務器上有下一個表結構:
person_id company_id time_of_registration
12 333 2022-02-15 8:03:00
13 333 2022-02-15 8:04:00
14 NULL 2022-02-15 8:10:00
15 333 2022-02-15 8:10:00
16 NULL 2022-02-15 8:12:30
17 222 2022-02-15 8:14:00
18 NULL 2022-02-15 8:23:00
19 111 2022-02-15 11:04:00
如果 company_id 列中有空值,我想放置最近的 company_id(按 time_of_registration)。
期望的輸出是:
person_id company_id time_of_registration
12 333 2022-02-15 8:03:00
13 333 2022-02-15 8:04:00
14 333 2022-02-15 8:10:00
15 333 2022-02-15 8:10:00
16 222 2022-02-15 8:12:30
17 222 2022-02-15 8:14:00
18 222 2022-02-15 8:23:00
19 111 2022-02-15 11:04:00
提前致謝。
uj5u.com熱心網友回復:
您可以使用 COALESCE() 將值默認為由副作用賦值運算式設定的用戶變數。類似于以下內容:
SELECT person_id,
@cmp := COALESCE(company_id, @cmp) AS company_id,
FROM MyTable
ORDER BY time_of_registration;
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/429422.html
上一篇:將NULL視為MAX日期
