面试常考的一道题:一句sql删除表里的重复数据。
偶尔和同事聊到这个问题就顺便写了下代码,供大家参考~
//数据准备
drop table t_user;
create table t_user(
id int(5) not null auto_increment,
username varchar(10),
age int(3),
primary key(id)
);
insert into t_user(username,age) values('aaa',20);
insert into t_user(username,age) values('aaa',20);
insert into t_user(username,age) values('aaa',20);
insert into t_user(username,age) values('bbb',20);
insert into t_user(username,age) values('bbb',20);
insert into t_user(username,age) values('ccc',20);
insert into t_user(username,age) values('ccc',20);
insert into t_user(username,age) values('ddd',20);
insert into t_user(username,age) values('ddd',20);
删除语句:
DELETE t
FROM
t_user t,
(
SELECT
min(id)AS ttid,
username
FROM
t_user t2
GROUP BY
t2.username
)AS tt
WHERE t.id > tt.ttid
and t.username = tt.username;
分享到:
相关推荐
SQL语句的最后一句要以 “;”号结束 二、写子句顺序 Select column,group_function From table [Where condition] [Group by group_by_expression] [Having group_condition] …… [Order by column]; --...
表数据导出到一个文本文件最简单的方法是使用SELECT… INTO OUTFILE语句的查询结果直接导出到一个文件在服务器主机上。 导出数据的SELECT…INTO ... -> INTO OUTFILE '/tmp/tutorials.txt'; 也可以更改输出格式,使
顺便说一句,最近的新浪微博是真烂了,居然登录不了。 之前一直在新浪写。 以后改这里吧,突然发现这的风格很喜欢。 ================================================== 下载后,解压,发现完全没有安装文件,然后...
不过要想更加直观的控制,直接写一个程序,定时执行你的存储过程。 1、设置“SQL Server 代理”(SQL Server Agent)服务随系统启动 –我的电脑–控制面板–管理工具–服务–右键SQLSERVERAGENT–属性–启动类型–选择...
-> 50 mysql> select ASCII(2); -> 50 mysql> select ASCII(‘dete’); -> 100 ORD(str) 如果字符串str句首是单字节返回与ASCII()函数返回的相同值。 如果是一个多字节字符,以格式返回((first byte ...
-- <br> ======================================================<br> 数据库操作 采用JNDI 连接<br> <br> ======================================================<br>--><br> <%<br> Context ctx=new ...
最近服务器很不稳定,于是重装了mysql 和php 服务,但是接着却遇到了很头疼的麻烦。 远程连接mysql是总是提示: ...今天偶然在网上看到一个遇到同样问题的人贴出的配置,发现他多了一句配置 skip-na
一个基于机器学习的新闻标题分类系统源码+数据集+训练好的模型+项目操作说明_本科毕设项目.7z bert_base中文预训练模型训练NLPCC2017 Task2新闻标题分类数据集的句向量 【环境配置要求】 Python:3.8.13 操作系统:...
一句简单的sql语句背后,mysql进行了很多临时表操作。本文档描述了sql中各关键字(FROM, JOIN, WHERE ,ORDER BY等)的执行顺序,便于深入理解sql执行原理。
在一次项目中,项目已经就快完了,需求有来了,要求要按指定的方式排序,通过id,时间等进行正排序,倒排序 ...,适合于oracle,mySql,SqlServer,access等数据库中使用,我上传的文件有相关的例子,很容易看懂。
My SQL 删除表? 还不会? 教你一招 一句SQL语句即可搞定
操作过程:打开【终端】,直接输入以下内容,点回车即可 就这一句话哦! 用途:将远程服务器的数据库拷到本地。 Java代码 代码如下: mysqldump -h ‘114.212.111.123’ -uROSE -pxxxooo –opt –compress ITSM –...
用管道符将mysqldump的输出流和mysql的输入流串接在一起,管道符真是一个伟大的发明。... 您可能感兴趣的文章:Python中MySQL数据迁移到MongoDB脚本的方法简述MySQL分片中快速数据迁移如何把sqlserver数
在文件的[mysqld]标签下添加一句:skip-grant-tables 然后wq!保存退出。 3.重启数据库 运行命令:service mysqld start 4.重启数据库 运行命令:service mysqld start 5.进入到mysql数据库 运行命令:mysql -u
基于机器学习的新闻标题分类系统源码+文本数据+sql数据库(本科毕设项目).zip 【资源介绍】 该项目是个人毕设项目,答辩评审分达到95分,代码都经过调试测试,确保可以运行!欢迎下载使用,可用于小白学习、进阶。 该...
>exit 注意:1)如果对sql语句熟悉的话,update这句就不用解释了第一个User是表名、第二个User是表中的字段。第一个Password是表中的字段,第二个Password()是加密用的函数。new_pass是要更改的密码。 2)flush ...
1.在语法上,行级触发器就多了一句话:for each row 2.在表现上,行级触发器,在每一行的数据进行操作的时候都会触发。 语句级触发器,对表的一个完整操作才会触发一次。 简单的说:行级触发器,是对应行操作的;...
一个php面向对象数据库操作类库,注意使用时最后不要忘记关闭数据路连接$SqlDB->Close();当然这句可以不要,php会自动注销!
把sql语句里第一句的USE [HotelManager] GO中HotelManager改成你建立的数据库名。。。 T_province表 省 自治区 直辖市(一级) [serialId] [bigint] NOT NULL Id [provinceId] [nvarchar] NULL 省id ...
mysql查询语句汇总 要查询 MySQL 数据库中表的结构,可以使用 DESCRIBE 语句或 SHOW COLUMNS 语句。这些语句可以向用户提供有关表的详细信息, 如列名、 ...这将返回一个包含列名、数据类型、键信息等的结果集。