我有一张 table ,里面的人都是为了赢得一辆卡车而进入的。
tbl_contestants
参赛者最多可参赛100次。我想更新用户已输入 100 次或更多次的所有记录的 entry_type
。
我想更新所有 100 条或更多记录的电子邮件地址为 X 的所有记录。我需要通过计算具有重复电子邮件地址的记录来确定 X,然后保存这些记录并更新它们的所有 entry_type
.
我使用电子邮件地址作为我的选择器,因为所有条目都有电子邮件地址(需要输入)。
我会在查询中的某处选择一个计数吗?这让我感到困惑。
我已经更新了将任何新条目限制为 100 的 Web 表单上的逻辑,我只需要处理在我们更新逻辑之前发生的条目。
编辑
我不知道所有达到 100 个阈值的参赛者的电子邮件地址。我们谈论的是具有 320K 记录的数据库。我需要找出哪些电子邮件地址出现超过 100 次,然后将所有满足 100 次阈值的记录的 entry_type 设置为 100。
最佳答案
像这样尝试
UPDATE tbl_contestants SET entry_type = 'GOOD' from tbl_contestants WHERE email IN
(select email from tbl_contestants group by email HAVING COUNT(*) >=100)
或者
UPDATE tbl_contestants SET entry_type = 'GOOD'from tbl_contestants WHERE email IN
(select email from tbl_contestants where email='X' group by email
HAVING COUNT(*) >=100)
关于mysql - 更新 100 条或更多记录的电子邮件地址为 X 的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22976166/