草庐IT

去重复

全部标签

mysql - 避免在 MySQL 脚本中重复语句

我在MySQL中使用事件调度程序创建了一个自动备份,如下所示:DELIMITER$$CREATEDEFINER=`root`@`localhost`EVENT`Backup`ONSCHEDULEEVERY1WEEKSTARTS'2013-06-1418:19:02'ONCOMPLETIONNOTPRESERVEENABLEDOBEGINSET@sql_text1=CONCAT("SELECT*FROMBonInterneINTOOUTFILE'/home/aimad/GestionStock/",DATE_FORMAT(NOW(),'%Y%m%d'),"BonInterne.csv'"

php - MySql 查询通过保留最新的时间戳值来删除重复的行?

我遇到了一个关于mysql表更新的问题。我有一个包含5列的表,包括ID、NAME、TIMESTAMP和其他2列。我的问题是我想删除那些ID和NAME都与另一行、ID和NAME匹配的行,同时保留最新的TIMESTAMP行。我正在尝试以下查询,但它显示错误:#1093-Youcan'tspecifytargettable'dummy1'forupdateinFROMclause查询是:deletefromdummy1whereLAST_USED_DATEnotin(selectmax(LAST_USED_DATE)fromdummy1groupbyID,NAME);

mysql - 具有重复文本值的表列

我有一个数据库表,其中有一个varchar(200)列。这是一个包含历史日志信息的表,表中大约99.9%的行包含与表中另一行相同的文本消息。该数据库的大小和搜索速度正在成为一个问题。所以我想我可以将varchar值移动到另一个具有唯一文本值的表,然后为第一个表中的每一行引用该表,但在我更改它之前,我想知道是否有有更简单的方法吗?例如,在我现有的表列上设置一些属性会自动导致此行为。以便数据库自动维护一个具有唯一文本的表。我意识到这肯定会对删除操作产生很大的性能影响,但几乎从来没有这样做过。此外,我真的很想避免更改插入日志表的程序。我一直在使用MySQL,但如果另一个数据库可以做到这一点,

php - 如何使用 Yii2 更新/插入值数组到数据库(一个 id 的多个值重复)

我正在从数据库中收集一些数据,然后将其显示在索引View中。每行附近都有一个复选框,因此我可以让用户选择他们的最爱。图文选自一张表cpv。该表包含字段:id、title、image。由于登录用户最多可以选择3个条目作为收藏夹,因此我有一个表来存储用户和他选择的cpv.id之间的关系。user_cpv表包含列:id、user_id、cpv_id。我做了一些显示数据+复选框的肮脏方式,我做了一些将信息(cpv.id)传递给应该保存cpv.id的actionUpdate的方法。但我不知道如何将所有这些保存到user_cpv表中。有人能给我一些关于如何正确执行此操作以及如何验证用户不能选择超过

php - Mysql - 查找重复值然后只返回最新的值然后如果它返回某个结果则忽略它

我有TablenameidcoidnametestpassfailtestdateVALUES11Chrismod1fail2015-05-2021Chrismod1pass2015-05-2532Patrickmod1fail2015-06-1043Jamesmod12015-12-2154Agnesmod1cancelled2015-07-0165Freyamod1pass2015-07-0175Freyamod2pass2015-07-05它列出了谁在什么时候做了什么测试,以及他们是否通过了。我需要能够返回未通过mod1测试的人的结果。如果我用SELECT*FROM`tablen

php - 从两个表中选择的 SQL 返回重复值 - Codeigniter

我必须从两个表中检索一些所有数据。没有条件。但是我的代码返回重复的数据值。每个表包含4行中心表:培训类(class)表:输出:我的Controller代码:$this->load->model("admindata");$data['query']=$this->admindata->getcentrelist();$this->load->helper('url');$this->load->view('admin/header');$this->load->view('admin/training',$data);$this->load->view('admin/footer');

mySQL重复外键

我是MySQL的初学者,我正在尝试建立一个供个人使用的数据库。我正在尝试为多个“Werknemer”提供相同的“Jobfunctie”。例如:一名船员(werknemer)(0100)是一名“arbeider”。第二名船员(werknemer)(0101)也是一名“arbeider”。CREATETABLEWerknemer(personeelsnummerint(4)notNULL,voornaamvarchar(10)notNULL,achternaamvarchar(10)notNULL,adresvarchar(30)notNULL,telefoonvarchar(10)not

php - MySQL - 选择性删除重复记录

我的数据库只有几千个联系人,我想删除所有重复的记录。我目前的SQL查询运行良好(在记录中-tel、email、name1是重复的)。查询删除id比最后出现的记录低的重复项。但在某些情况下,记录的其他字段已经填写(重要的字段将由title和name2)。我想实现的是让mysql检查这些字段是否已填写,并只保留填写最多信息的记录。我的查询query("DELETEcaFROMcontactscaLEFTJOIN(SELECTMAX(id)id,name1,tel,emailFROMcontactsGROUPBYname1,tel,email)cbONca.id=cb.idANDca.nam

Mysql删除重复的记录,除了一个有最大时间

我有一个包含多个RFID记录的表,每个记录都有一个名为时间的列,我想要的是删除重复的RFID记录,除了具有最大时间的记录。表名是attendance_images(id,RFID,time,year,month,day)我的查询如下:DELETEtFROMattendance_imagesAStLEFTJOIN(SELECTmax(t1.time)AStimeFROMattendance_imagesASt1WHEREt1.year=2016ANDt1.month=8ANDt1.day=4ANDt1.time查询效果为(0rowsdeleted.(Querytook0.0034sec)

php - 具有重复事件的数据库的优化设计

我想创建一个php日历应用程序。如果我想创建正常、每周、每月和每年的事件,该软件的最佳数据库设计是什么。 最佳答案 我会为事件的每次重复创建一个条目,直到某个地平线。但是,这意味着您将需要另一个表格,如果他们扫描超过您的范围日期,您可以使用它来预测日期。即,您需要一个事件表,其中包含重复事件(1月1日、1月8日、1月15日……到12月)的每次发生的一个记录,以及一个包含可用于播种future年份的每条记录的表(开始date:Jan1;repeat:7;through:2011)这样在2012年初(或者只要用户请求查看2012年以后的