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

  • 相关阅读:
    627. whose 和 who's
    628. why 和why not
    629 will: 各种用法tyg
    enChapter 3 Underlying Technologiesp
    使用VIEWER.JS进行简单的图片预览
    outlook2010设置失败后重新设置
    新增和编辑clob字段
    金钱大写
    pivot 与 unpivot 函数是SQL05新提供的2个函数
    从函数到委托
  • 原文地址:https://www.cnblogs.com/toutou/p/sql_distinct.html
Copyright © 2011-2022 走看看