【发布时间】:2013-05-28 21:46:11
【问题描述】:
我有一个关于 UPDATE 查询的 SQL 的简单问题。我在这里发现了一些非常接近我想知道的东西: MySQL: Count occurrences of distinct values
但是.. 这不是更新查询。这是我想要做的示例:
在一个表中(我们称表为“数据”),我想进行 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] 是一个数字
我想要的是更新计数,以便它告诉 [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] 字段。
提前致谢!
【问题讨论】:
-
我认为您的销售不会将其存储在您的表中。
-
我不明白你在这里想说什么..
-
我不认为应该将表中某些事物的出现次数存储在表中,您应该在运行时计算它,而不是尝试存储它(而且它会非常昂贵在每次更新/插入/删除时更新)。
-
啊,我完全明白了。 Normall 我会同意你的观点,我明白你为什么这是多余的——事实上,确实如此。但是,我需要完成计数的原因很长且令人费解,但它是此表中数据的必填字段。这个 UPDATE 只会做一次,所以如果我必须这样做,它会怎么做?它基本上是 EXCEL 中的 COUNTIF 语句,我理解他们为什么在 Access 中没有它,但不幸的是,我仍然需要为这个特定的数据库解决这个问题。呵呵