SQL按照某一列数据去重并显示整行信息

Posted 请叫我头头哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL按照某一列数据去重并显示整行信息相关的知识,希望对你有一定的参考价值。

mysql按照某一字段去重,并显示其他字段信息。有时候会有一些这样的需求,就是按照sql中的某一列值去重,还要显示其他字段的信息。用distinct进行去重时不能显示整行的信息,对这种需求显然难以满足。

v准备工作

1.0 创建测试

CREATE TABLE `logtest` (
    `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `msg` varchar(500) NOT NULL,
    `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
    `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (`id`)
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
insert into `logtest` (msg) values(\'bbbbbbbbbbbbb\');
select * from logtest;

1.1 表中所有数据

SQL按照某一列数据去重并显示整行信息

vGroup by和Max写法

需求背景

按照时间升序在日志表中取出不msg不重复的前3条数据

select * from logtest
where id in (select Max(id) from logtest group by msg)
order by create_time asc limit 3;

SQL按照某一列数据去重并显示整行信息


作  者:请叫我头头哥
出  处:http://www.cnblogs.com/toutou/
关于作者:专注于基础平台的项目开发。如有问题或建议,请多多赐教!
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
特此声明:所有评论和私信都会在第一时间回复。也欢迎园子的大大们指正错误,共同进步。或者直接私信
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是作者坚持原创和持续写作的最大动力!

以上是关于SQL按照某一列数据去重并显示整行信息的主要内容,如果未能解决你的问题,请参考以下文章

求mysql 语句去重并按重复个数排序

sql只根据某一字段去重,并保留其他字段

R语言中如何删除某行某列的某个数据(注:只删一个数据而不是整列整行)?如4 行 7列

SQLSERVER去除某一列的重复值并显示所有数据DISTINCT去重ISNULL()求SUM()NOT EXISTS的使用

在Excel中用啥样的公式可以实现,按照时间将销售员的客户接待情况用公式去重并进行分类统计?

sql语句去重