草庐IT

去重复

全部标签

mysql - 查询以从 SQL 中删除重复项

我在table上有一个叫做距离的表格。它有4列。id、start_from、end_to和距离。我有一些重复的记录。某种意义上的重复记录,start_from|end_to|distanceChennaiBangalore350BangaloreChennai350ChennaiHyderabad500HyderabadChennai510在上表中,钦奈到类加罗尔和类加罗尔到钦奈都有相同的距离。所以我需要查询以删除select上的那条记录。我想要一个像这样的输出start_from|end_to|distanceChennaiBangalore350ChennaiHyderabad50

mysql - 如何在不覆盖重复字段的情况下将 SQL 转储导入表

如何将MySQL转储文件导入数据库而不覆盖具有相同值的记录? 最佳答案 这是link到手册。您可以指定是否替换现有记录。--replace,-r--replace和--ignore选项控制输入行的处理,这些输入行在唯一键值上复制现有行。如果指定--replace,新行将替换具有相同唯一键值的现有行。如果指定--ignore,将跳过在唯一键值上复制现有行的输入行。如果您未指定任何一个选项,则在找到重复的键值时会发生错误,并且文本文件的其余部分将被忽略。如果您使用的是phpmyadmin,那么您也可以在GUI中选择此选项。

sql - MySQL:如何在执行多个 JOINS 时对非重复值求和

我尝试从包含一些JOINS的查询中对列中的值求和。示例:SELECTp.idASproduct_id,SUM(out_details.out_details_quantity)ASstock_bought_last_month,SUM(order_details.order_quantity)ASstock_already_commandedFROMproductASpINNERJOINout_detailsONout_details.product_id=p.idINNERJOINorder_detailsONorder_details.product_id=p.idWHEREp.i

mysql - 如何删除重复的行并更新表

我在表格中有重复的行。我有两个通过外键连接的表regions(id)orders(region_id)这些地区有重名。我想删除这些重复的行并更新订单表,重复的外键现在将设置为仅保留区域表中的现有名称。例子:regionstable:idname1|test2|test3|fooorderstable:idregion_id6|17|29|3我要orderstable:idregion_id6|17|19|3regionstable:idname1|test3|foo我可以用这个SQL得到重复的行:SELECTname,count(id)ascntFROMregionsGROUPBYna

mysql - 选择非重复记录

我有一个包含大约5000万条记录的表。表结构如下所示,callerid和call_start字段都已编入索引。id--callerid--call_start我想在整个表中选择所有call_start大于'2013-12-22'并且callerid在'2013-12-22'之前不重复的记录。我用的是这样的:SELECTDISTINCTca.`callerid`FROMcall_archivesAScaWHEREca.`call_start`>='2013-12-22'ANDca.`callerid`NOTIN(SELECTDISTINCTca.`callerid`FROMcall_ar

mysql - 根据一列或两列选择所有重复行?

我有一个名为contacts的表,其中包含字段+-----+------------+-----------+|id|first_name|last_name|+-----+------------+-----------+我想显示所有基于first_name和(/或)last_name的重复项,例如:+----+------------+-----------+|id|first_name|last_name|+----+------------+-----------+|1|mukta|chourishi||2|mukta|chourishi||3|mukta|john||4|ca

sql - 如何在 SQL 查询中标记重复项

我有一个SQL查询,它查看出生日期、姓氏和名字的soundex以识别重复项。以下查询找到大约8,000行(我假设这意味着大约有8,000条重复记录)。selectdob,last_name,soundex(first_name),count(*)fromclientsgroupbydob,last_name,soundex(first_name)havingcount(*)>1几乎所有结果的计数都是2,少数结果的计数是3,其中显然记录在合并的两个数据库之一中存在两次。我需要采取的下一步是标记其中一行,这并不重要,使用重复标志并使用相反的行键标记每一行。有没有办法使用SQL执行此操作?

MySQL 在非唯一字段上的重复键

我有一个包含各种参数的表格。表的结构是:id,object_id,param_name,param_value以下代码有效,但它附加结果而不是更新它们。事实是我不能使用ONDUPLICATEKEY因为我的字段是非唯一的(当然id除外)INSERTINTO`params_table`(`object_id`,`param_name`,`param_value`)SELECTA.idASmy_object_id,'XYZ'ASmy_param_name,IF(TMP.abcISNULL,0,1)ASmy_param_valueFROMref_tableASALEFTJOINtmp_tabl

php - 如何对具有重复值的数组值进行排序并在出现平局时跳过某些位置?

我正在开发一个操纵大学生考试成绩的数据库。基本上,我从MySq数据库中提取记录,在任何给定时间提取一个类。我想对学生进行排名,表现最好的学生排在第一位。这是一个例子;Marks:37,92,84,83,84,65,41,38,38,84.所以我想将mysql数据捕获为一个数组。一旦我将数据放入数组中,我就应该为每个学生分配一个类(class)中的位置,例如1/10(第1名,92分)、4/10等。现在的问题是,如果出现平局,那么下一个分数会跳过一个位置,如果一个位置有3个分数,那么下一个分数会跳过2个位置。所以上面的分数排名如下;92-184-2,84-2,84-2,83-5,65-6,

php - 在 mysql 表中上传大约 10,000,000 条记录的大型 CSV 文件也包含重复行

我想在mysql表中上传一个大约10,000,000条记录的大型csv文件,其中还包含相同或更多的编号。记录和一些重复记录。我尝试了Localdatainfile但它也需要更多时间。我如何在不等待很长时间的情况下解决这个问题。如果无法解决,那么我如何使用AJAX发送一些记录并一次处理它,直到整个csv被上传/处理为止。 最佳答案 LOADDATAINFILE在速度方面不会被击败。您可以采取一些措施来加快速度:删除或禁用一些索引(当然,您将在加载后等待它们构建。但这通常更快)。如果您使用的是MyISAM,则可以ALTERTABLE*f