用于删除特定行的SQL脚本

时间:2014-10-13 03:35:07

标签: php mysql sql

我有一个包含3列'纬度'经纬度'状态'的SQL表。我想创建一个遍历表格中所有行的脚本,从纬度/经度的第一行开始,删除小于0.3差异的所有其他纬度/经度行,然后更新“#”状态&#39 ;第一行的列已完成'。然后它将对纬度/经度的第二行,然后是第三行,依此类推,直到所有行都已完成'处于'状态'柱。这是应该用于删除行的查询:

delete from create_concert_xml_job 
where abs({latitude1} - latitude) <= 0.3 AND abs({longitude1} - longitude) <= 0.3;

{latitude1}{longitude}来自与其他行进行比较的行。

有人可以帮我解决这个问题吗?

更新:例如说这些是前4行的纬度/经度:

3.5 / 7.5

4.5 / 6.5

3.6 / 7.6

4.6 / 6.6

所以当脚本运行第一行时,它应该删除从该查询返回的所有行:

从create_concert_xml_job中删除其中abs(3.5 - 纬度)&lt; = 0.3 AND abs(7.5 - 经度)&lt; = 0.3;

这将导致第3行被删除。然后它将运行第2行并使用查询:

从create_concert_xml_job中删除其中abs(4.5 - 纬度)&lt; = 0.3 AND abs(6.5 - 经度)&lt; = 0.3;

这将导致第4行被删除。

1 个答案:

答案 0 :(得分:0)

我找到了其他方法。你可以使用

  
    

更新create_concert_xml_job设置latitude =(纬度1纬度),longitude =(经度1 - 经度),status ='已完成';

  

稍后您将拥有一个包含数据的表,您可以在其中将查询触发到DELETE,其中纬度&lt; 0.3

  
    

DELETE FROM create_concert_xml_job WHERE latitude&lt; ='0.3'和longitude&lt; ='0.3';