作为一名新手,我不断寻找解决问题的方法。希望有人能够提供一些解决方案。
我有一个 SELECT 语句,可以根据需要输出报告。我想做的是有一个 UPDATE 语句,用结果数字更新我的表列名为 reports 的值。任何建议将不胜感激。
SELECT
l.id,
l.plate,
COUNT(*) AS Reports
FROM
coh_items AS l
LEFT OUTER JOIN coh_items AS r
ON
l.id >= r.id AND l.plate = r.plate
GROUP BY
l.id,
l.plate
;
最佳答案
这是你想要的吗?
update coh_items i left join
(select i.id, i.plate, count(*) as reports
from coh_items i left join
coh_items i2
on i.id >= i2.id and i.plate = i2.plate
group by i.id, i.place
) i2
using (id, plate)
set i.reports = i2.reports;
左连接似乎没有必要,因为任何给定的行总是会匹配自身(假设比较列不是NULL
)。
关于mysql - 将包含 LEFT OUTER JOIN 的 SELECT 语句调整为同一表中的 UPDATE 语句 - 可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53029466/