草庐IT

去重复

全部标签

php - 根据另一列中的不同值选择重复值

好的,假设我有一个包含三列的表格。第一列是唯一ID,第二列是用户名,第三列是用户拥有的元素。我想做的是从项目行中选择两个不同用户名拥有的值。我该怎么做呢?因此,为了假设的缘故,假设我想看看鲍勃和露丝都拥有什么元素。如有任何帮助,我们将不胜感激。有什么办法可以张贴表格来举例说明我在说什么? 最佳答案 根据我认为你的表结构是...SELECTi.itemid,i.descriptionFROMitemsiJOINuseritemrelationshiprONi.itemid=r.itemidJOINusersuONu.userid=r.

mysql - 在没有唯一索引/约束的情况下防止 MySQL 中的重复行?

我正在编写一个需要处理数百万个URL的应用程序。它还需要通过URL进行检索。我的表目前看起来像这样:CREATETABLEPages(idbigint(20)unsignedNOTNULL,urlvarchar(4096)COLLATEutf8_unicode_ciNOTNULL,url_crcint(11)NOTNULL,PRIMARYKEY(id),KEYurl_crc(url_crc))ENGINE=InnoDBDEFAULTCHARSET=utf8COLLATE=utf8_unicode_ci;此结构背后的想法是通过URL的CRC32散列进行查找,因为b树索引在往往具有公共(p

php - 避免提交给 sql 的空白和重复条目

我正在为这段代码的逻辑而苦苦挣扎。我认为使用后退按钮时会出现空白条目。它适用于残疾学习者的问卷系统,每页仅询问1个问题,每个问题的结果单独提交。有一个单独的表用于确定调查是否已完全完成(我使用GET跟踪uniqueID)并且结果仅来自完全完成的调查。我曾尝试在存在quesitonID和唯一ID的地方使用更新响应/评论,但这似乎会产生更多问题。为了清楚起见并允许一些想法自由,我将代码削减到最低限度。非常感谢。编辑:'response'是单选按钮条目,'comment'是文本输入。“UniqueID”、“surveyID”、“QID”和“type”在URL中确定并使用GET捕获。mysql

mysql - 在 CodeIgniter Datamapper 中使用高级查询查找重复记录

我正在尝试从数据库中获取所有重复的行。假设我有一个表entries,主键idantVARCHAR列称为name。我已经有一个有效的SQL查询:SELECTid,entries.nameFROMentriesINNERJOIN(SELECTnameFROMentriesGROUPBYnameHAVINGcount(id)>1)duplicateONentries.name=duplicate.name出于个人兴趣以及与其余代码的一致性,我想使用CodeIgniterDatamapper库构建类似的查询。我已经构建了子查询部分并且它按预期工作:$e=newEntry();$e->group

php - 防止 PHP 注册表单中出现重复的电子邮件地址

我环顾四周,但没有找到完整的答案。我正在使用PHP和MySQL创建和管理志愿者注册表单。我需要确保没有重复的电子邮件地址(电子邮件key是唯一的)这是我正在使用的代码,但是我需要帮助来理解将函数放在哪里,因为我还使用check_input去除斜杠等。结果是使用重复电子邮件的测试条目不会发布到数据库,但是在流程页面上它仍然向用户提供确认而不是错误。下面的代码是在process.php页面上,DB连接PHP和INSERT代码之后:0){die("Thereisalreadyauserwiththatemail!");}//endiffunctioncheck_input($data,$pr

php - 查询以查找过去 30 天内点击次数最多的 16 个帖子,并且没有重复的类别

我有一个看似简单的任务,但我似乎无法使用1个查询找到一个优雅的解决方案...问题:我有一张记录“帖子”上的“点击”的表格,其中每个帖子都是“类别”的一部分。我想找到过去30天内点击次数最多的16个帖子--但我想避免重复类别。其实看起来很简单,但是我好像卡住了。我知道如何在过去30次中获得最多的点击,但我不知道如何避免重复的猫。SELECTcat_id,post_id,COUNT(post_id)ASclick_counterFROMcs_coupon_clicksWHEREtime_of_click>DATE_SUB(NOW(),INTERVAL30DAY)GROUPBYpost_id

php - 组合 SELECT 和 UPDATE 以避免重复选择

我想结合SELECT和UPDATE查询,以避免重复选择行。这是我的示例代码:privatefunctiongetNewRCode(){$getrcodesql="SELECT*FROM`{$this->mysqlprefix}codes`WHERE`used`=0LIMIT1;";$getrcodequery=$this->mysqlconn->query($getrcodesql);if(@$getrcodequery->num_rows>0){$rcode=$getrcodequery->fetch_array();$updatercodesql="UPDATE`{$this->m

mysql - 如何在 mysql 中将重复行更改为唯一值?

我有一个包含大约1M条记录的数据库表。我需要在此表中找到所有重复的名称并使它们唯一。例如……IdName-----------1A2A3B4C5C应该改为...IdName-----------1A-12A-23B4C-15C-2是否有使用mysql查询或过程执行此操作的有效方法?提前致谢! 最佳答案 这有点棘手。我在本地主机上进行了测试,它可以满足您的要求。如果您有任何问题,请告诉我。SQLFIDDLEUPDATEtempt1,(SELECTidasunique_id,new_nameFROM(SELECTid,IF(@ROW=N

java - 重复键更新时的 Derby JavaDB 查询

我知道MySQL支持这个查询(ONDUPLICATEKEYUPDATE)例如:INSERTINTOUserFailure(Realm,Username,DateOfFailure,CountOfFailure)VALUES(?,?,?,?)ONDUPLICATEKEYUPDATECountOfFailure=?;当我在嵌入式DerbyDB上运行它时,它会给我:PreparedStatementCallback;badSQLgrammar[INSERTINTOUserFailure(Realm,Username,DateOfFailure,CountOfFailure)VALUES(?,

mysql - 如何从 union all join 查询中删除重复项

我有一张表,其中包含零件号和这些零件号的价格。这是我的主表,大约有100000个条目。我还有3个可能的供应商表。并非主表的所有零件编号都在所有3个供应商表中,并且3个供应商表的内容也不同。我想要的是在3个表中查询我的主表的部件号。如果在多于1个表中找到零件号,它应该只返回价格最低的一个。如果仅在1个表中找到,则返回该零件的价格。我现在正在做的是下面的查询:SELECT`table1.partnumber`,`table1`.`price`,`maintable`.`price`FROM`table1`INNERJOIN`maintable`ON`table1`.`partnumber`