MYSQL删除多个产品的异常值

时间:2013-08-05 16:33:02

标签: mysql

我正在使用大型数据库,而我正在尝试删除数据异常值。我从previous question找到了这段代码,我将其修改为与我的数据库一起使用。

DELETE FROM sv_condition_sw 
WHERE snow_mountain > (select * from (SELECT AVG(snow_mountain)+1.5*STDDEV(snow_mountain) 
                                  FROM sv_condition_sw 
                                  WHERE lud='2012-11-28' ) x)
AND lud='2012-11-28' 

除了一个例外,它很有用。

在我的案例中,我有成千上万的“lud”或产品。如何用一个查询删除每个lud(或产品)?

1 个答案:

答案 0 :(得分:0)

你可以试试像

这样的东西
DELETE sv_condition_sw 
FROM sv_condition_sw, 
   (SELECT AVG(snow_mountain)+1.5*STDDEV(snow_mountain) as threshold, lud
   FROM sv_condition_sw GROUP BY lud) as t
WHERE sv_condition_sw.snow_mountain > t.threshold
AND sv_condition_sw.lud=t.lud

这也适用于MySQL。