mysql - 更新 100 条或更多记录的电子邮件地址为 X 的记录

标签 mysql

我有一张 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/

相关文章:

mysql - 有没有办法在使用多表时,引用主表简化联合查询(性能优化)

MySQL LOAD DATA [LOCAL] INFILE 路径名语法错误

python - 错误 1045 (28000) : Access denied

c# - 对象必须实现 IConvertible MySQL C#

php - "parameterized queries/prepared statements"在 SQL 注入(inject)中如何比转义用户输入更好

MySQL - 错误 #1064 - 删除记录 phpmyadmin

mysql - 在外部选择中使用内部选择值

PHP:在从另一个表获取数据时更新产品表数量

java - 如何为java应用程序创建安装程序包以及在mysql中创建的数据库

mysql - 从一张表和一张对应的表中获取记录