作为新生,我一直在寻找高低寻找解决问题的方法。希望有人可以阐明解决方案。
我有一个SELECT语句,可根据需要吐出Reports。我想做的是有一个UPDATE语句,用结果编号更新名为report的表列。任何建议将不胜感激。
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
;
答案 0 :(得分:0)
这是您想要的吗?
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
)。