筛选重复数据的方法

//跟据帐号来查询出重复的订单
$sql_accounts = ‘select `wish_account` from wish_accounts where t_id=0‘;
$res = mysql_query($sql_accounts);
while($row = mysql_fetch_array($res)){

//这个跟据卖家id(其实就是一个唯一值)来筛选出重复的数据。
$sql = "SELECT count(0) as num,erp_orders_id,buyer_id,sales_account,orders_export_time
FROM erp_orders
WHERE sales_account=‘".$row[‘wish_account‘]."‘
AND orders_export_time>‘".date(‘Y-m-d H:i:s‘,time()-86400*3)."‘
AND orders_status in (1,3)
AND orders_total>0
GROUP BY sales_account,buyer_id
HAVING num>1
ORDER BY erp_orders_id ASC";
echo $sql."\n";
echo "<br />";
$result=mysql_query($sql);

//print_r($result);exit;

//跟据上面的重复的数据,我们又在筛选出重复数据中的那些重复数据。
while($order_list=mysql_fetch_array($result)){
$sql = "SELECT erp_orders_id,buyer_id,orders_type,sales_account,orders_export_time
FROM erp_orders
WHERE sales_account=‘".$order_list[‘sales_account‘]."‘
AND buyer_id=‘".$order_list[‘buyer_id‘]."‘
AND orders_export_time>‘".date(‘Y-m-d H:i:s‘,time()-86400*3)."‘
AND orders_status in(1,3)
AND orders_total>0
ORDER BY erp_orders_id ASC";
echo $sql."\n";
echo "<br />";

$_result=mysql_query($sql);
/*过滤第一条*/
mysql_fetch_array($_result);
while($order_list_temp=mysql_fetch_array($_result)){
echo "-----------------------------------------------\n";
echo "erp_orders_id:".$order_list_temp[‘erp_orders_id‘].
" orders_type:".$order_list_temp[‘orders_type‘].
" buyer_id:".$order_list_temp[‘buyer_id‘];
echo "\n";
// $sql="update erp_orders set orders_type=-1,buyer_id=‘".$order_list_temp[‘buyer_id‘].
// "_del‘ where erp_orders_id=‘".$order_list_temp[‘erp_orders_id‘]."‘";
// $sql ="delete from erp_orders where erp_orders_id=‘".$order_list_temp[‘erp_orders_id‘]."‘ ";
// echo $sql."\n";
// mysql_query($sql);
// $sql_products = "delete from erp_orders_products where erp_orders_id=‘".$order_list_temp[‘erp_orders_id‘]."‘ ";
// mysql_query($sql_products);
// echo $sql_products."\n";
$sql ="DELETE erp_orders,erp_orders_products FROM erp_orders LEFT JOIN erp_orders_products ON erp_orders.erp_orders_id = erp_orders_products.erp_orders_id WHERE erp_orders.erp_orders_id=‘".$order_list_temp[‘erp_orders_id‘]."‘ ";
echo $sql."\n";exit;
mysql_query($sql);
echo "-----------------------------------------------\n";
}
}
}

时间: 2024-11-26 08:49:01

筛选重复数据的方法的相关文章

Java实现数组去除重复数据的方法详解

一.用List集合实现 int[] str = {5, 6, 6, 6, 8, 8, 7,4}; List<Integer> list = new ArrayList<Integer>(); for (int i=0; i<str.length; i++) { if(!list.contains(str[i])) { list.add(str[i]); } } System.out.println("去除重复后的list集合"+list); 输出结果是:

Oracle海量数据(1000w+)重复数据删除方法

方法1:delete from xxx(表名) where rowid not in( select max/min(rowid) from xxx(表名) group by xxx(需要去重的列名,可以跟逗号实现多个列名去重)). 此方法采用直接删除的方法.但是效率比较低,数据量小的话可以使用.对于超过100w的数据推荐用方法2. 方法2:create table xxx(自定义表名) as select *(如果只需要部分列就直接把需要的列写出来) from xxx(表名)where row

《SQLServer删除重复数据的方法》

方法一: declare @max integer,@id integer declare cur_rows cursor local for select 主字段,count(*) from 表名 group by 主字段 having count(*) > 1 open cur_rows fetch cur_rows into @id,@max while @@fetch_status=0 begin select @max = @max -1 set rowcount @max delet

从一个数组中随机产生多个不重复数据的方法

此算法来源与网上,纯属个人心得!!! 在一个已知的集合中,随机取出多个(小于集合长度)不重复的数据: List<Integer> list = new ArrayList<Integer>(); List<Integer> output = new ArrayList<Integer>(); //产生一个长度为一千的集合 for (int i = 1; i < 1000; i++) { list.add(i); } Random random = ne

SqlServer删除重复数据的方法

方法一 declare @max integer,@id integer declare cur_rows cursor local for select 主字段,count(*) from 表名 group by 主字段 having count(*) > 1 open cur_rows fetch cur_rows into @id,@max while @@fetch_status=0 begin select @max = @max -1 set rowcount @max delete

Java中List集合去除重复数据的方法

1. 循环list中的所有元素然后删除重复 public static List removeDuplicate(List list) { for ( int i = 0 ; i < list.size() - 1 ; i ++ ) { for ( int j = list.size() - 1 ; j > i; j -- ) { if (list.get(j).equals(list.get(i))) { list.remove(j); } } } return list; } 2. 通过H

orcl数据库查询重复数据及删除重复数据方法

工作中,发现数据库表中有许多重复的数据,而这个时候老板需要统计表中有多少条数据时(不包含重复数据),只想说一句MMP,库中好几十万数据,肿么办,无奈只能自己在网上找语句,最终成功解救,下面是我一个实验,很好理解. ------------------------------------------------------------------------------------------------------------------------ 假设有一张人员信息表cs(姓名,证件号,地址

Excel删除重复数据及用公式筛选重复项并标记颜色突出显示

当表格记录比较多时,常常会有重复数据,而重复记录往往只希望保存一条,因此需要把多余的删除:在 Excel 中,删除重复数据有两种方法,一种是用“删除重复数据”删除,另一种是用“高级筛选”删除:其中前者删除重复数据后会在表格末尾留下空行,而后者不会.如果只想查看重复数据而不必删除,可以给重复数据标记颜色突出显示,这样会一目了然.另外,还可以用公式统计每条重复数据有几条或筛选出重复数据.以下是Excel删除重复数据及用公式筛选重复项并标记颜色的具体操作方法,操作中所用版本为 Excel 2016.

数据去重2---高性能重复数据检测与删除技术研究一些零碎的知识

高性能重复数据检测与删除技术研究 这里介绍一些零碎的有关数据重删的东西,以前总结的,放上可以和大家交流交流. 1 数据量的爆炸增长对现有存储系统的容量.吞吐性能.可扩展性.可靠性.安全性. 可维护性和能耗管理等各个方面都带来新的挑战, 消除冗余信息优化存储空间效率成为 缓解存储容量瓶颈的重要手段,现有消除信息冗余的主要技术包括数据压缩[8]和数据去 重. 2 数据压缩是通过编码方法用更少的位( bit)表达原始数据的过程,根据编码 过程是否损失原始信息量,又可将数据压缩细分为无损压缩和有损压缩.