【问题标题】:SQL Delete All DataSQL 删除所有数据
【发布时间】:2014-03-14 12:20:30
【问题描述】:

我正在尝试删除关注者少于 10 名和关注者超过 1000 名的用户的所有数据。到目前为止,我得到了这个查询:

DELETE FROM Test 
WHERE Followers 
BETWEEN 1 AND 9 

此查询会删除 10 个以下用户的数据。如何删除关注者超过 1000 人的用户?我可以将两个查询合二为一吗?

【问题讨论】:

  • Followers 是否包含 0 或更少?
  • 抱歉没来得及回答没有关注者在 1 到 10 之间。

标签: mysql sql twitter-follow


【解决方案1】:

问题是你没有DELETE * 这意味着你必须告诉它哪一列从一行到DELETE。但是,您正在删除整行,因此不必指定 *

DELETE FROM Test 
WHERE (Followers >=1 
AND Followers <10)
OR Followers >1000

【讨论】:

  • 感谢您的回答。我看到了我的错误。
  • 你也可以使用WHERE Followers NOT BETWEEN 10 AND 1000;
【解决方案2】:

试试这个:

由于Followers 字段仅包含 > 0 的值:

DELETE FROM Test 
WHERE Followers <10 
OR Followers >1000

【讨论】:

    【解决方案3】:

    使用OR将第二个条件添加到您的查询中

    DELETE
      FROM Test 
     WHERE Followers BETWEEN 1 AND 9
           OR Followers > 1000;
    

    【讨论】:

    • 你原来的还是说DELETE *
    【解决方案4】:

    只需将条件与OR 子句结合起来:

    DELETE
    FROM        Test 
    WHERE       Followers BETWEEN 1 AND 9
        OR      Followers >1000
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-10
      • 1970-01-01
      • 2021-11-10
      • 1970-01-01
      • 1970-01-01
      • 2018-01-15
      • 2015-03-07
      • 1970-01-01
      相关资源
      最近更新 更多