我进行了一个查询,该查询获取行数tableA
并将按字段的计数分组set_id
到临时表中c
。然后,如果table 中的字段与字段的值相同,它会通过将其字段的值更改为 table 的值来执行 UPDATE
on 。tableB
current_count
c
count
count
c
set_id
current_count
set_id
UPDATE sets, (
SELECT
set_id,
COUNT(set_id) AS count
FROM leads_auto
GROUP BY set_id
) c
SET sets.current_count = c.count
WHERE sets.set_id = c.set_id
此查询的缺点是如果's的表中不存在计数,则它不能UPDATE
tableB
使用current_count
零值。c
tableB
set_id
我试过这个
UPDATE sets, (
SELECT
set_id,
COUNT(set_id) AS count
FROM leads_auto
GROUP BY set_id
) d
SET sets.current_count = 0
WHERE sets.set_id != d.set_id
但它不会影响任何行,tableB
即使 tablec
返回带有set_id
in 的行tableB
并排除了一些set_id
确实存在于的行tableB
。
有谁知道如何做到这一点?
SELECT set_id, COUNT(set_id) AS count FROM leads_auto GROUP BY set_id
退货
set_id | count
-------+---------
1 | 7
5 | 5
4 | 16
7 | 2000000