如果Mysql中的计算字段为0,则从结果集中删除记录

如果Mysql中的计算字段为0,则从结果集中删除记录,mysql,Mysql,假设我有一个MySQL查询,如下所示: SET@group=0; 选择玩家Id,如果(新组,@Group:=@Group+1,@Group)作为组Id 从[表] 按玩家Id排序; 这将给我一个Player\u Ids和计算出的Group\u Ids的列表(都是数字)。如果我的查询结果中组Id为0,我想删除任何记录。有人能帮我吗,因为我的SQL技能很低。这应该可以解决您的问题: SET @group = 0; DELETE FROM [TABLE] WHERE Player_Id IN (

假设我有一个MySQL查询,如下所示:

SET@group=0;
选择玩家Id,如果(新组,@Group:=@Group+1,@Group)作为组Id
从[表]
按玩家Id排序;

这将给我一个
Player\u Id
s和计算出的
Group\u Id
s的列表(都是数字)。如果我的查询结果中
组Id
0
,我想删除任何记录。有人能帮我吗,因为我的SQL技能很低。

这应该可以解决您的问题:

SET @group = 0;
DELETE FROM [TABLE] WHERE Player_Id IN  (
    SELECT u.Player_Id FROM (
        SELECT
            Player_Id,
            IF(New_Group, @group:=@group + 1, @group) AS Group_Id
        FROM [TABLE]
        ORDER BY Player_Id
    ) AS u
    WHERE
        u.Group_Id = 0
);

您是否尝试过在DELETE语句而不是SELECT语句中实现它们?@kojow7我只想从结果中删除它们,而不是从您可以在何处使用的数据库中删除它们