Table des matières
回复内容:
Maison développement back-end tutoriel php mysql如何去除两个字段数据相同的记录?

mysql如何去除两个字段数据相同的记录?

Jun 17, 2016 am 08:32 AM
admin com email name

比如说有个name列和一个eamil列,如果数据库里面有条记录的这两列的值相同(我说的是这条记录的对应的那两列的值相同,并不是同一条记录里面两列值相同)的话就自动删除其他多余的列而保留最新的那一条(也就是ID最小的那个,ID是一个自增主键)
——————————————————
也就是说表里面有两条记录的name都是admin,email都是abc@163.com,我只想保留其中一条,这该怎么做

回复内容:

其实你会用英文搜索的话。可以很方便在stack overflow上 找到相关的信息 真的学CS的就不要用百度了 用google你会发现一个不一样的世界的
随便贴一个
sql - How can I remove duplicate rows?

稍微讲一下其中一个思路(里面有很多很好的答案 你可以自己去看)
就是做一个group by 保留其中id 最大的(你说自增长 id最大的应该就是最新的)就可以了
具体sql query 可以这样写
<span class="k">delete</span> <span class="k">from</span> <span class="n">test</span> <span class="k">where</span> <span class="n">id</span> <span class="k">not</span> <span class="k">in</span><span class="p">(</span>
<span class="k">select</span> <span class="n">name</span><span class="p">,</span><span class="n">email</span><span class="p">,</span><span class="k">max</span><span class="p">(</span><span class="n">id</span><span class="p">)</span> <span class="k">from</span> <span class="n">test</span> 
<span class="k">group</span> <span class="k">by</span> <span class="n">name</span><span class="p">,</span><span class="n">email</span> <span class="k">having</span> <span class="n">id</span> <span class="k">is</span> <span class="k">not</span> <span class="k">null</span><span class="p">)</span> 
Copier après la connexion
distinct 如果要保留id的最小值,例如:
数据: mysql如何去除两个字段数据相同的记录?
执行sql:select count(*) as count ,name,id from ceshi group by name
mysql如何去除两个字段数据相同的记录?最后要删除的sql为:delete from ceshi where id not in (select count(*) as count ,name,id from ceshi group by name)

如果想保留id的最大值:
简单的办法是:delete from ceshi where id not in (select count(*) as count ,name,id from (select * from ceshi order by id desc) group by name) distinct 其实非常的简单,只需要把你这张表当成两张表来处理就行了。
DELETE p1 from TABLE p1, TABLE p2 WHERE p1.name = p2.name AND p1.email = p2.email AND p1.id 这里有个问题,题主说保留最新的那一条(也就是ID最小的那个),既然是递增,最新的不应该是最大的那条吗?
上面的的语句,p1.id '即可。
当然是用group by,count可以更精准控制重复n次的情况。不过目测楼主需求应该只要把重复的删掉,保留最新的就可以了。 DELETE FROM table WHERE id not in ( SELECT
tb.id FROM ( SELECT tmp.* FROM table tmp ) tb GROUP BY tb.field1, tb.field2,… );
table是表名,field是要去重的字段。 新建一个表,设置name,email为唯一索引,然后重新插入旧表数据
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Poésie aléatoire d'application native Hongmeng Poésie aléatoire d'application native Hongmeng Feb 19, 2024 pm 01:36 PM

Pour en savoir plus sur l'open source, veuillez visiter : 51CTO Hongmeng Developer Community https://ost.51cto.com Environnement d'exploitation DAYU200 : 4.0.10.16SDK : 4.0.10.15IDE : 4.0.600 1. Pour créer une application, cliquez sur Fichier- >nouveauFichier->CréerProgect. Sélectionnez le modèle : [OpenHarmony] EmptyAbility : indiquez le nom du projet, shici, le nom du package d'application com.nut.shici et l'emplacement de stockage de l'application XXX (pas de chinois, de caractères spéciaux ou d'espaces). CompileSDK10, modèle : étape. Appareil

Comment utiliser les modules email, smtplib, poplib, imaplib pour envoyer et recevoir des e-mails en Python Comment utiliser les modules email, smtplib, poplib, imaplib pour envoyer et recevoir des e-mails en Python May 16, 2023 pm 11:44 PM

Le parcours d'un e-mail est le suivant : MUA : MailUserAgent - Mail User Agent. (c'est-à-dire un logiciel de messagerie similaire à Outlook) MTA : MailTransferAgent - Agent de transfert de courrier, qui correspond aux fournisseurs de services de messagerie, tels que NetEase, Sina, etc. MDA : MailDeliveryAgent - Agent de livraison du courrier. Un serveur du fournisseur de services de messagerie expéditeur->MUA->MTA->MTA->if

Quelle est la différence entre comcn et com Quelle est la différence entre comcn et com May 12, 2023 pm 04:08 PM

La différence entre comcn et com : 1. Il existe des différences de signification entre comcn et com, mais il n'y a pas de différence de vitesse d'accès 2. comcn est un nom de domaine international et est un nom de domaine mondial de premier niveau utilisé par les institutions commerciales ; , alors que cn est un nom de domaine d'entreprise chinoise, les institutions commerciales nationales, les noms de domaine nationaux, seules les entreprises peuvent s'enregistrer ; 3. La priorité de recherche est que cn recherchera d'abord .cn. Après avoir trouvé le serveur .cn, le serveur .cn le fera. puis recherchez .com ; 4. cn est fourni par cnnic China Internet Center Management, l'organisation de gestion de com est à l'étranger.

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

Quel est le rôle et l'utilisation de la surveillance de l'administrateur Springboot Quel est le rôle et l'utilisation de la surveillance de l'administrateur Springboot May 25, 2023 pm 06:52 PM

Scénarios applicables : 1. L'échelle du projet n'est pas grande. 2. Le nombre d'utilisateurs n'est pas très grand et les exigences de concurrence ne sont pas fortes. 3. Il n'y a pas de force d'exploitation et de maintenance dédiée. 4. Taille d'équipe exquise. des projets réguliers ou des unités où la répartition des responsabilités n'est pas très claire. Souvent, un système va des exigences à la conception, au développement, aux tests jusqu'au lancement final, à l'exploitation et à la maintenance. Souvent, 80 % des tâches sont réalisées par l’équipe de développement. Par conséquent, en plus de mettre en œuvre les fonctions du système, les développeurs doivent également fournir aux clients des conseils, répondre aux questions et résoudre les problèmes de production. Imaginez, après le lancement d’une application, il n’y a aucune mesure de surveillance. Tout comme conduire une voiture sans tableau de bord, personne ne se sent en sécurité sur la route comme celle-ci. Comment concilier simplicité et efficacité mérite réflexion. 1. Printempsb

Vous avez besoin des autorisations fournies par l'administrateur pour apporter des modifications à ce fichier. Comment résoudre ce problème ? Vous avez besoin des autorisations fournies par l'administrateur pour apporter des modifications à ce fichier. Comment résoudre ce problème ? Jul 26, 2023 am 10:56 AM

Vous avez besoin des autorisations fournies par l'administrateur pour apporter des modifications à ce fichier. Solution : 1. Après avoir sélectionné le compte administrateur sur l'interface de connexion et saisi le mot de passe, vous pouvez modifier le fichier en douceur. 2. Vous pouvez cliquer avec le bouton droit sur le fichier et sélectionner ; Méthode « En tant qu'administrateur » « Exécuter en tant que » ; 3. Modifiez les autorisations du fichier, cliquez avec le bouton droit sur le fichier, sélectionnez « Propriétés », cliquez sur l'onglet « Sécurité », puis cliquez sur le bouton « Modifier », sélectionnez votre nom d'utilisateur, puis vérifiez le Option "Contrôle total" ; 4. Utilisez l'invite de commande pour résoudre le problème ; 5. Définissez les autorisations UA.

Comment utiliser Flask-Admin pour implémenter l'interface de gestion en arrière-plan Comment utiliser Flask-Admin pour implémenter l'interface de gestion en arrière-plan Aug 03, 2023 pm 11:30 PM

Comment utiliser Flask-Admin pour implémenter l'interface de gestion backend Introduction de fond : Avec le développement de sites Web et d'applications, l'interface de gestion backend devient de plus en plus importante. Pendant le processus de développement, nous avons souvent besoin d’une interface de gestion backend pratique et rapide pour gérer les données, les utilisateurs et autres informations importantes. Flask-Admin est une extension Flask puissante et facile à utiliser qui peut nous aider à implémenter rapidement l'interface de gestion en arrière-plan. Flask-Admin est un projet open source basé sur Flask et SQLAlchemy

Comment écrire l'administrateur thinkphp Comment écrire l'administrateur thinkphp May 28, 2023 pm 02:16 PM

thinkphpadmin s'écrit "

See all articles