我有一个关于UPDATE查询的SQL的简单问题。我发现了一些非常接近我想知道的东西: MySQL: Count occurrences of distinct values
但是......这不是更新查询。以下是我想要做的例子:
在一个表中(让我们调用表“data”),我想做一个UPDATE查询。这是表格的样子:
Id color count
1 blue 0
2 blue 0
3 red 0
4 red 0
5 blue 0
6 white 0
现在,[id]是此示例的自动增量键,[color]是TEXT字段。 [count]是一个数字
我想要的是,计数是UPDATED,以便它告诉[color]出现的实例数。运行UPDATE查询后,表格如下所示:
Id color count
1 blue 3
2 blue 3
3 red 2
4 red 2
5 blue 3
6 white 1
看起来很简单,但我已经搞乱了DCOUNT和COUNT命令,而且我可能很容易错过一些东西,但仍然......没有快乐。我见过的所有帮助只处理SELECT查询,但我肯定需要这个查询来更新[count]字段。
提前致谢!
答案 0 :(得分:1)
你应该尝试:
UPDATE data JOIN
(
SELECT color, count(1) AS color_cnt
FROM data
GROUP BY color
) AS sub ON data.color = sub.color
SET cnt = sub.color_cnt