[英]MySQL, apply a function on one column and then update another column for each row
表的兩個列分別命名為 csv 和 s。 csv 包含逗號分隔的 1 位數字作為字符串,沒有重復,如 '1,5,3,2',沒有重復,如 '1,5,1'。 想計算“csv”中有多少個 1 和 3,並將計數放入“s”列。 這就像將 function 應用於每個“csv”並將結果放入每行的“s”中。 我知道如何計算,但從未見過如何將 function 應用於一列並將結果放入另一列。 這是在存儲過程中完成的,我是否必須逐行通過它 go。
只是:
update mytable
set s = char_length(csv) - char_length(replace(replace(csv, '1', ''), '3', ''))
該公式將csv
列中的字符數與去除1
s 和3
s 后的字符數進行比較。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.